まずはカスタム・フォントを利用することに特化したクラスを作成。
FontChange.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
import android.content.res.AssetManager; import android.graphics.Typeface; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; public class FontChange { private Typeface typeface; public FontChange(AssetManager assets, String assetsFontFileName) { typeface = Typeface.createFromAsset(assets, assetsFontFileName); } public void replaceFonts(ViewGroup viewTree) { View child; for(int i = 0; i < viewTree.getChildCount(); ++i) { child = viewTree.getChildAt(i); if(child instanceof ViewGroup) { // recursive call replaceFonts((ViewGroup)child); } else if(child instanceof TextView) { // base case ((TextView) child).setTypeface(typeface); } } } } |
カスタム・フォントへはAssetsフォルダからアクセス:
フォントを変更したいアクティビティ内(onCreate)で以下を追加:
1 2 |
FontChange font = new FontChange(getAssets(), "JiyunoTsubasa.ttf"); font.replaceFonts((ViewGroup)this.findViewById(android.R.id.content)); |
これでアクティビティ全体にカスタム・フォントが適用される。