有時候應用中希望使用自定義的字體文件,下面的代碼可以作為參考。
1. 將字體文件放入assert文件夾下,這裡為fonts/xxx.ttf。
2. 在需要改變字體的Acitivity中使用FontManager.changeFonts()方法來改變字體。
- package arui.www.linuxidc.com;
-
- 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);
- }
- }
-
- }
- }