前言
Android有自己的默认字体,但是有时候我们并不想使用它的默认字体,我们想使用诸如楷体,隶书等字体,那么该怎么去做呢?本文就是说明该如何使用自定义的字体。
实现
先来一段源码:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(new CustomView(this));
}
class CustomView extends View{
private Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
private Typeface mTypeface;
public CustomView(Context context){
super(context);
mTypeface = Typeface.createFromAsset(getContext().getAssets(), "kaiti.ttf");
mPaint.setTextSize(32);
}
@Override
protected void onDraw(Canvas canvas){
canvas.drawColor(Color.WHITE);
mPaint.setTypeface(mTypeface);
canvas.drawText("来自ProgramChangesWorld哦",10,50,mPaint);
}
}
}
效果图如下:
可以看到,方式是比较简单的,也就是自定义View,在自定义View里面,我们定义了一个画笔类的对象mPaint,一个Typeface类的对象mTypeface,然后调用Typeface.createFromAsset得到字体的内容,最后mPaint调用setTypeface方法就可以了,这样mPaint绘出的文字就是我们定义的字体了。
这里需要说明的是我把ttf的字体文件放在了assets文件夹下面,也可以放在其他的文件夹下面(SD里面也可),只要我们能找ttf文件就可以了。
【源码下载】
【android字体合集1】
【android字体合集2】
我在自己写的一个音乐播放器里面的小说功能使用了自定义字体,有兴趣的可以去看一下。
示例图:
欢迎下载