2012-04-30 14 views
4

私は非常に巨大なアプリケーションを開発しましたが、今ではアプリケーションのすべてのコントロール用にカスタムフォントを使用する必要があります。だから私はワンショットでフォントを変更するより良い方法を知りたい。アプリケーションには100以上のXMLレイアウトがあります。私はカスタムフォントですべてのコントロールをカスタムコンポーネントに変更できません。 XMLのすべてのコントロールを変更せずにフォントを変更するソリューションを提供してください。android:アプリケーション全体のカスタムフォントを設定する方法

+0

を探しているソリューションにあなたを導くことができますので、同じ のサブクラスです。 –

答えて

11

<com.prac.MyFontedTextView ....  instead of <TextView 

あなたTextViewsからxmlファイル内のすべての上に、あなたはそれがまた

を適用するためにすべての上に行う必要があり、この変更を、これを置き換えるこの

pacage com.prac; 
class MyFontedTextView extends TextView { 
    public FontedTextView(Context context) { 
     super(context); 
     init(); 
    } 

    public FontedTextView(Context context, AttributeSet attrs) { 
     super(context, attrs); 
     init(); 
    } 

    public FontedTextView(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
     init(); 
    } 

    private void init() { 
    String otfName = "MyCustomOtfFileWhichIPutInAssetsFolder.otf"; 
    Typeface font = Typeface.createFromAsset(context.getAssets(), otfName); 
    this.setTypeface(font); 
    } 
} 

ような何かを行いますボタンテキストの場合ボタンものTextViewボタンのあまりに

希望のためにこのヘルプを働かせることができるか、私はあなたの特定のケースのために確信しているが、スタイルが助けかもしれかもしれあなたが

+1

この方法では、フォントを変更したい場合には、次回からこのケースに役立ちます。あなたはちょうど1つの場所でそれをやらなければならない。 – Javanator

+0

そしてAhmed Saidと同じ。便利だとマークすることを忘れないでください:) – Javanator

+0

私はこのテクニックを知っていますが、私は1000のコントロールが付いた100のXMLページを持っています。私はそれらのコントロールをすべて変更しなければなりません、または代替があります。 – Santosh

関連する問題