我正在构建一个应用程序,并希望确保它使用Android提供的默认“sans”字体类型。
我安装了一些奇怪的字体并将其设置为我的手机使用的字体,因此我可以测试我的操作是否有效。
然后我更改了所有屏幕使用的主题,因此它包含以下行:
<item name="android:typeface">sans</item>
这虽然没有任何影响......
如果我将主题字体行更改为:
<item name="android:typeface">serif</item>
然后它确实有效,奇怪的字体没有显示,但我得到默认的android serif字体... 当我使用等宽...时会发生同样的事情......
但是当我使用sans(或普通)时,它会使用新安装的字体。
有没有人知道实现这个目标的好方法?
编辑:我需要一种方法来为整个应用设置它,而不是为每个项目单独设置
Edit2:即使我在xml中设置它也不起作用。 到现在为止,我认为serif有效,因为奇怪的字体没有serif版本。 所以android默认为自己的字体。
如何让andoid永远使用自己的内置字体?
答案 0 :(得分:0)
你可以这样做,
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="#00FF00"
android:typeface="serif"
android:text="@string/hello" />
成为这个:
<TextView
style="@style/CodeFont"
android:text="@string/hello" />
通过定义xml主题文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CodeFont" parent="@android:style/TextAppearance.Medium">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#00FF00</item>
<item name="android:typeface">shreif</item>
</style>
</resources>
您还可以将样式应用于应用程序的所有活动:
<application android:theme="@style/CustomTheme">
或只是一项活动:
<activity android:theme="@android:style/Theme.Dialog">
答案 1 :(得分:0)
这是我前段时间的一个问题,从未找到答案。 没关系。我想最终:设备的每个供应商都可以为您提供另一种默认字体。
所以我决定在应用程序中打包“我自己的”字体。
(好吧,我想这里的每个人都在学习)