有时候应用中希望使用自定义的字体文件,下面的代码可以作为参考。
1. 将字体文件放入assert文件夹下,这里为fonts/xxx.ttf。
2. 在需要改变字体的Acitivity中使用FontManager.changeFonts()方法来改变字体。
-
package arui.blog.csdn.net;
-
import android.app.Activity;
-
import android.graphics.Typeface;
-
import android.view.View;
-
import android.view.ViewGroup;
-
import android.widget.Button;
-
import android.widget.EditText;
-
import android.widget.TextView;
-
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);
-
}
-
}
-
}
-
}