我正在尝试在Canvas上绘制一个文本(下面有点伪代码):
Paint p = new Paint(ANTI_ALIAS_FLAG);
p.setTextSize(18);
...
mCanvas.drawText("Hello StackOverflow!", 50, 50, p);
我的问题是结果看起来真的很“怪异”。它使用了一些粗体字体,这种字体非常混淆,看起来不漂亮而且“方形”。
我尝试使用p.setTextSize(),通过设置各种大小,我也试图通过使用p.setTypeface(字体)和设置DEFAULT,NORMAL,SERIF,SANS_SERIF等设置不同的默认字体,但它仍然看起来难看。
相反,系统其余部分使用的字体看起来非常好,我想使用它。
如何? :)
答案 0 :(得分:16)
这将使字体正确别名:
p.setAntiAlias(true);
如果您想更改字体本身,请使用
p.setTypeface(yourTypeface);
使用自定义字体对象。
(看看http://developer.android.com/reference/android/graphics/Typeface.html)
您可以使用
Typeface.defaultFromStyle(int style);
以及其中一种文字样式:http://developer.android.com/reference/android/R.style.html#TextAppearance。
它应该为您提供默认的系统字体样式,如果您正在使用它。