web-dev-qa-db-ja.com

Androidデバイスのデフォルトの書体を取得するには?

アプリケーション内にAPIクラスがあります。 APIクラス内には、たとえば静的として設定されたカスタムフォントがあります。

    public static Typeface font_short;

        @SuppressWarnings("deprecation")
        public Api(Context c , Display d)
        {
            this.context = c ;

    //I want to change this if user wants to keep using System font style or my custom style
    if ( keep_curren == true )
    {
    font_title   =  //What to add here to get Default fonts Typeface
    }else
//use my costume font
    {
    font_title   =  Typeface.createFromAsset(context.getAssets(),"fonts/custome.ttf");
    }

                     display = d; 

             w = display.getWidth();  // deprecated
                 h = display.getHeight();  // deprecated       
        }

ユーザーがカスタムフォントを使用したくない場合は、デバイスのデフォルトおよび現在の書体を取得したいです。

アクティビティクラスで

TextView blaaa       = (TextView) findViewById(R.id.blaaa);
//change to custome font style or keep current font style
blaaa.setTypeface(Api.font_title);

何か案は?

13
Jack K Fouani

次を使用してデフォルトの書体を取得できます。

_if (keep_curren) {
    font_title = Typeface.DEFAULT;
}
_

指定したスタイルに基づいてデフォルトの書体を取得することもできます:Typeface.defaultFromStyle(int style)

これについての詳細: ここ

32
Vikram