2

私はJavaでこのAndroidゲームを作成しており、フォントを頻繁に使用し始めていますが、もちろん、特にフォントを大きくすると、品質が非常に低下するようです。私はAndroidの標準フォントを使用しています。とにかくフォントの品質を上げる方法はありますか?カスタムフォントをダウンロード/作成した場合、それらは同じ低品質になりますか?

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 に答える