Android ApiDemos示例解析(83):Graphics->Typefaces
本例介绍如何在Android中使用自定义字体,Android支持TureType字体,和Windows 支持的TrueType字体格式相同。
可以在Windows\Fonts 目录下 查看字体,比如将 Edwardian 字体拷贝到本例的assest\fonts目录下:
修改一下本例代码:
[java]
private static class SampleView extends View {
private Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
private Typeface mFace;
private Typeface mFace1;
public SampleView(Context context) {
super(context);
mFace = Typeface.createFromAsset(getContext().getAssets(),
"fonts/samplefont.ttf");
mFace1 = Typeface.createFromAsset(getContext().getAssets(),
"fonts/edwardian.ttf");
mPaint.setTextSize(64);
}
@Override protected void onDraw(Canvas canvas) {
canvas.drawColor(Color.WHITE);
mPaint.setTypeface(null);
canvas.drawText("Default", 10, 100, mPaint);
mPaint.setTypeface(mFace);
canvas.drawText("Custom", 10, 200, mPaint);
mPaint.setTypeface(mFace1);
canvas.drawText("Edwardian", 10, 300, mPaint);
}
}
private static class SampleView extends View {
private Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
private Typeface mFace;
private Typeface mFace1;
public SampleView(Context context) {
super(context);
mFace = Typeface.createFromAsset(getContext().getAssets(),
"fonts/samplefont.ttf");
mFace1 = Typeface.createFromAsset(getContext().getAssets(),
"fonts/edwardian.ttf");
mPaint.setTextSize(64);
}
@Override protected void onDraw(Canvas canvas) {
canvas.drawColor(Color.WHITE);
mPaint.setTypeface(null);
canvas.drawText("Default", 10, 100, mPaint);
mPaint.setTypeface(mFace);
canvas.drawText("Custom", 10, 200, mPaint);
mPaint.setTypeface(mFace1);www.zzzyk.com
canvas.drawText("Edwardian", 10, 300, mPaint);
}
}
作者:mapdigit
补充:移动开发 , Android ,