有時候應用中希望使用自定義的字型檔案,下面的代碼可以作為參考。
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);
- }
- }
- }
- }