非常に巨大なアプリケーションを開発しましたが、アプリケーション内のすべてのコントロールにカスタム フォントを使用する必要があります。そのため、フォントを一発で変更するより良い方法を知りたいです。アプリケーションには、100 を超える XML レイアウトがあります。すべてのコントロールをカスタム フォントのカスタム コンポーネントに変更することはできません。XML のすべてのコントロールを変更せずにフォントを変更する解決策を提供してください。
質問する
3695 次
1 に答える
11
このようなことをしてください
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);
}
}
これをTextViewsのxmlファイル全体で置き換えます
<com.prac.MyFontedTextView .... instead of <TextView
この変更を適用するには、最初からやり直す必要があります
ボタンテキストの場合も同様です。ボタンも TextView のサブクラスなので、同じことがボタンにも適用できます
このヘルプまたは探しているソリューションにつながることを願っています
于 2012-04-30T18:29:10.777 に答える