如何定义使用自定义字体的样式

时间:2013-10-06 10:19:08

标签: android fonts

我想在我的应用中使用Roboto字体作为每个TextViews,EditTexts,Buttons等的默认字体。

我把ttf文件放在assets文件夹里面的fonts文件夹中。现在我想编辑应用程序样式,以便使用该字体。 所以,这就是我所做的。

<style name="AppTheme" parent="AppBaseTheme">
    <item name="android:typeface">ROBOTO-REGULAR.TTF</item>
</style>

但编译器会返回此错误。

String types not allowed (at 'android:typeface' with value 'ROBOTO-
 REGULAR.TTF').

是否可以通过XML定义应用程序的默认字体?在这种情况下,出了什么问题? 提前谢谢。

1 个答案:

答案 0 :(得分:4)

你不能按照你想要的方式去做。 android:typeface属性是枚举,具有固定数量的值。它不需要文件名。

所做的是实现自定义TextView(以及从其各自类继承的自定义ButtonEditText),它们会读取自定义属性并加载属性指向的字体文件。

请记住,Roboto是从Honeycomb开始使用的(或者是ICS?)。在旧设备上看起来确实有点不合适,其中Droid Sans是系统范围的默认设置。