有时候应用中希望使用自定义的字体文件,下面的代码可以作为参考。
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);
- }
- }
- }
- }