如何同一字体家族设置为整个Android应用(How to set same font family

2019-10-19 22:06发布

你好,我想同样的字体系列设置为整个Android应用程序。 我已经看到了这是否可以设置应用程序的整个自定义字体? 但是这一切都做得使用代码。 我想设置的Theme ,使得其将在所有工作。 它应该的字体系列转换ActionBar的文字也。

没有办法做到这一点?

styles.xml

<resources>

    <!--
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
    -->
    <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light">
        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        -->
    </style>

    <!-- Application theme. -->
    <style name="AppTheme" parent="AppBaseTheme">
        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    </style>

</resources>

Answer 1:

如果您想为您的所有意见的字样,而不必每次都这样做编程(和在Android的所有版本仍然工作),你最好的办法是子类的视图,并自动设置您想要的字体。

IE浏览器。

public class CustomTextView extends TextView{

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

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

    public CustomTextView(Context context) {
        super(context);
        init();
    }

    public void init(boolean bold) {
        setTypeface(Typeface.createFromAsset(getAssets(), "fonts/your_font_file.ttf"));
    }
}

如果你想真正优化甚至进一步,你可以使用一个静态引用该字体和使用,所以你不需要每次都重新创建字体查看负载。



文章来源: How to set same font family to entire android application