标签:
做Android开发的时候,一些软件会要求一些特殊字体,我们需要引入外部的ttf格式的字体到程序中,具体操作步骤为:
在安卓应用程序的目录assets中新建fonts目录,将我们需要使用的ttf字体文件复制进去(otf格式的直接把后缀名改为ttf的就行了),然后代码:
// 将字体文件保存在assets/fonts/目录下,在程序中通过如下方式实例化自定义字体: Typeface typeFace = Typeface.createFromAsset(getAssets(),"fonts/DroidSansThai.ttf"); // 应用字体 textView.setTypeface(typeFace);
PS:1.如果想在此基础上再次对字体进行加粗,在界面配置的XML文件中使用android:textStyle="bold"是徒劳的,木有效果,此时怎么做?
我们可以依旧在代码中控制,加上一行代码:
et_note.getPaint().setFakeBoldText(true);就可以实现了
如果想整个界面都使用同样的字体,可以使用批处理,新增一个Java类,如下:
代码会用来加载所有的基于TextView的文本组件(TextView、Button、RadioButton、ToggleButton等等),而无需考虑界面的布局层级如何。(内存浪费较大)
另外ttf 字体库文件都比较大,会增加安装包的体积哦
public class FontManager { public static void changeFonts(ViewGroup root, Activity act) { Typeface tf = Typeface.createFromAsset(act.getAssets(), "fonts/xxx.ttf"); for (int i = 0; i < root.getChildCount(); i++) { View v = root.getChildAt(i); if (v instanceof TextView) { ((TextView) v).setTypeface(tf); } else if (v instanceof Button) { ((Button) v).setTypeface(tf); } else if (v instanceof EditText) { ((EditText) v).setTypeface(tf); } else if (v instanceof ViewGroup) { changeFonts((ViewGroup) v, act); } } } }
更多:https://segmentfault.com/q/1010000000494116标签:
原文地址:http://blog.csdn.net/wei_chong_chong/article/details/52250030