android:如何为整个应用程序设置自定义字体

时间:2012-04-30 18:01:52

标签: android custom-font

我开发了一个非常庞大的应用程序,现在我需要为应用程序中的所有控件提供自定义字体。所以我想知道一次更改字体的更好方法。该应用程序有超过一百个XML布局。并且我无法使用自定义字体将所有控件更改为自定义组件。请提供更改字体的解决方案,而不更改XML中的所有控件。

1 个答案:

答案 0 :(得分: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

此更改必须全部执行才能应用

也适用于按钮文字的情况。 Button也是TextView的子类 所以同样可以用于按钮

希望这个帮助或者可以引导您找到您正在寻找的解决方案