2013-10-14 9 views
5

Androidでフォントを設定する方法はいくつかあります。 私がする必要があるのは、custom fontと組み合わせてフォントを設定し、entire appを超えてフォントを設定することです。アプリ全体で使用されるカスタムフォント

いくつかの研究の後、私は2つの選択肢があります。

  • EditTextを上書きしてフォントを設定する場合は、レイアウトxmlでこのクラスを使用してください。
  • 私のstyles.xmlに私のAppThemeにフォントを追加します。

私は最後の選択肢が好きです。これは私のアプリ全体で同じフォントを使用しているので、これは私の立場では最良の方法です。 問題は、私のAssets/font/フォルダに私が使用したいフォントを追加しましたが、これは私のスタイルでは使用できません。

<style name="AppTheme" parent="AppBaseTheme"> 
    <item name="android:typeface"> Here? </item> 
</style> 

フォントを書体として追加する方法。それは可能ですか?

答えて

0

は、このコードを試してみてください。

public class CustomTextView extends EditText { 

public CustomTextView(Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 
    if (!isInEditMode()) 
     init(); 

} 

public CustomTextView(Context context, AttributeSet attrs) { 
    super(context, attrs); 
    if (!isInEditMode()) 
     init(); 

} 

public CustomTextView(Context context) { 
    super(context); 
    if (!isInEditMode()) 
     init(); 
} 

public void init() { 
    Typeface tf = Typeface.createFromAsset(getContext().getAssets(), Constants.FONTPATH); 
    setTypeface(tf); 

} 

    } 

はその後XMLwithに使用します。

 <pkgname.CustomTextView android:id="@+id/txt" android:layout_width="wrap_content" android:layout_height="wrap_content" /> 
+0

これは私の質問ではありません。これが私の最初の選択でした。それで、私が言及しているように、あなたはtextviewをオーバーライドし、edittextはオーバーライドしません。しかし、これの横に、私はこのオプションを知っています。私の立場では、最も効率的な方法ではありません。それは計画のようなものです。 –

0

私が知る限り、xmlファイルの外部アセットにアクセスする方法はありません。

+0

その間に私はこれを解決する方法も見つけられませんでした。私はカスタムTextviewに行きます。将来このために何かがあることを願っています。それはコードをもっときれいにします。 –

関連する問題