繁体   English   中英

Java,Android字体质量似乎很低

[英]Java, Android fonts seems to be in quite low quality

我正在用Java创建这个Android游戏,并且已经开始经常使用字体,但是它们的质量似乎很低,尤其是当它们变大时。 我正在使用androids标准字体。 无论如何,有什么可以提高字体质量的,如果我下载/创建了自定义字体,它们的质量会一样低吗?

如果您自己绘制文本(而不是使用TextView),请确保在AndroidManifest.xml中设置minSdkVersiontargetSdkVersion targetSdkVersion至关重要。 如果未设置targetSdkVersion ,则绘制的文本可能会错误缩放。

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16"/>

这是我画线的方式:

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;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM