Android上的自定义字体

时间:2011-04-17 14:46:53

标签: android user-interface

我想在Android应用中使用自定义字体,但使用自定义字体似乎很痛苦?! 我可以通过将其添加到每个TextView - >以编程方式设置自定义字体。很多样板代码。我可以创建一个新类CustomTextView扩展TextView并在构造函数中添加setTypeface - >没有xml上下文感知帮助属性了。

还有另一种设置自定义字体的方法吗?按XML,按风格,按主题?

提前致谢!

P.S。是否有可能通过XML设置下划线?

2 个答案:

答案 0 :(得分:10)

使用此代码更改字体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");

从网上下载DejaVuSerif-Italic.ttf文件,并在资源文件夹中输入 fonts 文件夹。

答案 1 :(得分:6)

您可以在资源/字体下包含自定义字体,然后使用

中的代码

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,但如果需要,可以很容易地扩展以支持其他窗口小部件类型。