2

我正在用 java 创建这个 android 游戏,并且已经开始经常使用字体,但它们的质量似乎非常低,当然,尤其是当你把它们变大的时候。我正在使用androids标准字体。有没有办法提高字体质量,如果我下载/创建了自定义字体,它们的质量会一样低吗?

4

2 回答 2

0

如果您自己绘制文本(而不是使用 TextView),请确保您在 AndroidManifest.xml 中minSdkVersion进行了设置。至关重要。如果不设置,你绘制的文本可能会被错误地缩放。targetSdkVersiontargetSdkVersiontargetSdkVersion

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16"/>
于 2012-12-26T04:55:02.800 回答
0

这就是我画弦的方式:

public class ImprovedString 
{
    private String mText;
    private Paint mPaint;
    private float mPosX, mPosY, mOffsetX, mOffsetY;
    private Rect mBounds;

    public ImprovedString(String text,int textSize, int color, Align align, Typeface typeface, float posX, float posY)
    {
        mText = text;
        mPosX = posX;
        mPosY = posY;

        mBounds = new Rect();

        mPaint = new Paint();
        mPaint.setColor(color);
        mPaint.setTextSize(textSize);
        mPaint.setTypeface(typeface);
        mPaint.setTextAlign(align);
        mPaint.getTextBounds(mText, 0, mText.length() - 1, mBounds);
    }

    public void draw(Canvas canvas, int width, int height)
    {
        canvas.drawText(mText, (mPosX + mOffsetX) * width, (mPosY + mOffsetY) * height + mBounds.height() / 2, mPaint);
    }

    public void setText(String t)
    {
        mText = t;
    }

    public void offSet(float x, float y)
    {
        mOffsetX = x;
        mOffsetY = y;
    }

    public Rect getBounds()
    {
        return mBounds;
    }
}
于 2012-12-27T13:26:22.073 回答