我想在Android应用程序中使用自定义字体,但使用自定义字体似乎是一种痛苦?!我可以通过将其添加到每个TextView ->大量样板代码以编程方式设置自定义字体。我可以创建一个新的类CustomTextView扩展TextView并在构造函数中添加setTypeface ->没有xml上下文感知的属性帮助了。
是否有其他方法来设置自定义字体?按XML、按样式、按主题?
提前感谢!
注:是否有可能通过XML设置下划线?
使用此代码更改textview的字体。
TextView newfont;
newfont=(TextView) findViewById(R.id.textView1);
Typeface font=Typeface.createFromAsset(getAssets(), "fonts/DejaVuSerif-Italic.ttf");
newfont.setTypeface(font);
newfont.setText("This is the new font Text");
从web下载DejaVuSerif-Italic.ttf文件,并放入assets文件夹中的fonts文件夹。
您可以在assets/fonts下包含自定义字体,然后使用
中的代码https://github.com/browep/AndroidCustomFontWidgets/你可以在XML中指定字体,例如
<com.github.browep.customfonts.view.FontableTextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="This is in a custom font"
app:font="MyFont-Bold.otf" />
代码支持FontableTextView和FontableButton,但是如果您需要的话,很容易扩展以支持其他小部件类型。