web-dev-qa-db-ja.com

Android xmlでカスタムフォントを使用するには?

Xmlのアセットフォルダーに追加されたカスタムフォントを使用するにはどうすればよいですか? JavaでsetTypeface()メソッドを使用できることはわかっていますが、TextViewを使用するすべての場所でこれを行う必要があります。それでは、もっと良い方法はありますか?

25
Vins

フォントファイルをasset\fonts\fontname

Xmlファイルで3つのテキストビューを定義してから、このコードをアクティビティクラスに配置します。

public class AndroidExternalFontsActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        // Font path
        String fontPath = "fonts/DS-DIGIT.TTF";
        String fontPath1 = "fonts/Face Your Fears.ttf";
        String fontPath2 = "fonts/HelveticaNeue-Bold_0.otf";

        // text view label
        TextView txtGhost = (TextView) findViewById(R.id.ghost);
        TextView txtGhost1 = (TextView) findViewById(R.id.ghost1);
        TextView txtGhost2 = (TextView) findViewById(R.id.ghost2);

        // Loading Font Face
        Typeface tf = Typeface.createFromAsset(getAssets(), fontPath);
        Typeface tf1 = Typeface.createFromAsset(getAssets(), fontPath1);
        Typeface tf2 = Typeface.createFromAsset(getAssets(), fontPath2);

        // Applying font
        txtGhost.setTypeface(tf);
        txtGhost1.setTypeface(tf1);
        txtGhost2.setTypeface(tf2);
    }
}
2
Mitul Goti