0

我想使用 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 定义应用程序的默认字体?在这种情况下,有什么问题?先感谢您。

4

1 回答 1

4

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

可以做的是实现一个自定义TextView(加上自定义ButtonEditText从它们各自的类继承),该自定义属性读取自定义属性并加载该属性指向的字体文件。

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

于 2013-10-06T10:31:51.423 回答