在使用书法全局设置默认字体后,是否可以清除某些TextView的默认字体?

时间:2016-05-27 06:13:52

标签: android fonts android-fonts

我已经在onCreate()方法中设置了我的应用程序类的默认字体,详见书法文档:

CalligraphyConfig.initDefault(new CalligraphyConfig.
        .setDefaultFontPath("fonts/MetaOT-Medi.otf")
        .setFontAttrId(R.attr.fontPath)
        .addCustomViewWithSetTypeface(CustomViewWithTypefaceSupport.class)
        .addCustomStyle(TextField.class, R.attr.textFieldStyle)
        .build()
);

我有一个TextView,并希望使用默认系统字体(例如Roboto)进行回退。我可以知道怎么做吗?

现在我通过将一组Roboto字体复制到我的assets / fonts文件夹来规避这一点,然后对于那些我想要回退的TextView,覆盖字体以在xml中使用它,如fontPath="fonts/Roboto-Regular.ttf"。或者除此之外还有更好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

是的,可以使用哪种字体设置为TextView,您可以用XML或实际设置它。

 fontPath="fonts/Roboto-Regular.ttf"
  

XML示例代码

<TextView
     android:id="@+id/tv_name"
        fontPath="fonts/Roboto-Regular.ttf"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
/>
  

实用主题示例代码

Typeface tf = Typeface.createFromAsset(context.getAssets(), "fonts/Roboto-Regular.ttf");
        setTypeFace(view, tf);