好的,我知道如何更改应用程序中单个文本框使用的字体,但我希望应用程序中所有文本都使用这种自定义字体和颜色,目前我能想到的唯一方法是引用每个文本框并将它们设置为正确的字体和颜色。虽然这样做是可行的,但似乎有点笨拙,有没有更好的方法?
好的,我知道如何更改应用程序中单个文本框使用的字体,但我希望应用程序中所有文本都使用这种自定义字体和颜色,目前我能想到的唯一方法是引用每个文本框并将它们设置为正确的字体和颜色。虽然这样做是可行的,但似乎有点笨拙,有没有更好的方法?
您可以创建自定义的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"/>
TextView mytextView=(TextView)findViewById(R.id.txtbx);
Typeface fonttype=Typeface.createFromAsset(getAssets(),"fonts/fontname.ttf");
mytextView.setTypeface(fonttype);
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>