今天的需求是在android软件中显示维语字体,我虎躯一震,不会.然后问维族同事,记录一下.
首先下载想对应的字库什么的,那么直接下载链接:下载链接
原理:给每个控件设置typeface属性,就是用下载的字库中的字体,
首先把下载的ttf下载下来.放到asset中,当然放哪随便,只要你能读取到,这里会打包到apk中,增加你的apk大小,视情况而定.
在assert目录下,新建一个fonts文件夹,然后将资源ttf复制到当前的文件夹下面.然后使用下面代码
// 获得当前的Activity的根View,在你的View都初始化完毕之后再使用.
ChangeFonts((ViewGroup) this.getWindow().getDecorView()); // 改变字体
// 这里是调用的方法,对么个view都进行设置
private void ChangeFonts(ViewGroup root) {
Typeface tf = Typeface.createFromAsset(this.getAssets(), "fonts/UKIJEkran.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);
}
}
}