当我使用自定义字体绘制文本时(基本上是图标ex:WINGDING.ttf),使用drawText显示提供的简单文本。
我遵循的步骤: 1.在Assets文件夹中添加了字体文件 2.使用添加的字体设置绘画 3.用油漆
绘制文字要绘制文字,我使用了相应的英文字符
canvas.drawText("p",0,1, x, y, myPaint);
在app上显示为p
答案 0 :(得分:2)
如果你有资产/字体,请使用这种方式:
private Paint myPaint= new Paint(Paint.ANTI_ALIAS_FLAG);
private Typeface mFace;
mFace = Typeface.createFromAsset(getContext().getAssets(),"fonts/WINGDING.ttf");
myPaint.setTextSize(32);
myPaint.setTypeface(mFace);
canvas.drawText("test test",0,1, x, y, myPaint);
//canvas.drawText("test test", 10, 200, myPaint);
示例:
private static class MyView extends View
{
private Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
private Typeface mFace;
public MyView(Context context)
{
super(context);
mFace = Typeface.createFromAsset(getContext().getAssets(),"fonts/WINGDING.ttf");
mPaint.setTextSize(32);
}
@Override protected void onDraw(Canvas canvas)
{
mPaint.setTypeface(mFace);
canvas.drawText("p p p p", 10, 200, mPaint);
}
}
答案 1 :(得分:0)
我发现this SO post链接了此字体转换器http://www.freefontconverter.com。
我把我的.ttf字体无法渲染并再次转换为.ttf(所以.ttf到.ttf)现在它可以工作了!我希望这有帮助!