Android自定义字体非常简单,能够从assets和SD卡两处加载标准的ttf字体。要实现自定义字体,只需借助工具类Typeface即可。文末有工程源码。
如果发生了Caused by: java.lang.RuntimeException: native typeface cannot be made的异常的话,请检查字体路径。另外我发现少数TTF字体可能因为体积太大的原因,也会报这个异常。
另外Typeface的API文档:http://developer.android.com/reference/android/graphics/Typeface.html 。
从assets里加载的时候,会增加apk包的体积,使用方法:
// 加载assets中的字体 TextView textView1 = (TextView) findViewById(R.id.textView1); Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/1.ttf"); textView1.setTypeface(typeface);
从sd卡里加载的时候,并不需要额外的SD卡读权限,实现方法:
// 加载SD卡中的字体 TextView textView2 = (TextView) findViewById(R.id.textView2); Typeface typeface2 = Typeface.createFromFile(Environment.getExternalStorageDirectory() + "/2.ttf"); textView2.setTypeface(typeface2);
源码工程上传中,你可以在此处找到。
知识共享署名-非商业性使用-相同方式共享:码农场 » Android自定义字体 TextView 从SD卡加载TTF字体
我的程序按照您这样做了之后,报找不到sd卡下的这个字体的错误,您能帮我解决下吗