更改Android App的默认字体

时间:2013-07-25 14:01:33

标签: android fonts default true-type-fonts

好的,我知道如何更改我的应用程序中各个文本框上使用的字体,但我希望我的应用程序中的所有文本都使用这种自定义字体和颜色,这是我能想到的唯一方法来做他的是引用每个框并将它们设置为正确的字体和颜色。虽然它可行但似乎是一种笨重的方法,还有更好的方法吗?

3 个答案:

答案 0 :(得分:8)

您可以创建自定义TextView并在任何地方对其进行重新设置。

public class TypefacedTextView extends TextView {

    public TypefacedTextView(Context context, AttributeSet attrs) {
        super(context, attrs);

        Typeface typeface = Typeface.createFromAsset(context.getAssets(), fontName);
        setTypeface(typeface);
    }
}

内部view.xml

<packagename.TypefacedTextView
             android:layout_width="fill_parent"
             android:layout_height="wrap_content"
             android:text="Hello"/>

答案 1 :(得分:2)

将您的不同字体文件放入资源文件夹...

TextView mytextView=(TextView)findViewById(R.id.txtbx);
Typeface fonttype=Typeface.createFromAsset(getAssets(),"fonts/fontname.ttf");
mytextView.setTypeface(fonttype);

答案 2 :(得分:0)

通过在“字体资源”文件中创建“字体家族”元素并将字体家族添​​加到应用程序主题中

res>values>styles>

----------
<resources>
<!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <!--Add this below line-->
        <item name="android:fontFamily">@font/PacificoRegular</item>
    </style>
</resources>