Android Lollipop 中的 Monospace 发生了什么变化?
What's happened to Monospace in Android Lollipop?
我有一种风格可以在我的 Android 应用程序中使用 "monospace":
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar" >
<!-- Customize your theme here. -->
<item name="android:windowNoTitle">true</item>
<item name="android:typeface">monospace</item>
<item name="android:textColorPrimary">@android:color/white</item>
<item name="android:itemTextAppearance">@style/MenuText</item>
</style>
<style name="M13Text">
<item name="android:typeface">monospace</item>
<item name="android:textColor">@android:color/white</item>
<item name="android:textColorLink">@android:color/holo_red_light</item>
</style>
<style name="MenuText">
<item name="android:typeface">monospace</item>
<item name="android:textColor">@android:color/black</item>
</style>
</resources>
一切都很好,直到 Lollipop 出现时它似乎不再使用 Monospace 字体,当我在 Android Studio 中将 API 从 19 翻转到 21 时我可以看到它发生了变化。
我用谷歌搜索但没有找到任何东西,我明白这只是一个表面问题,但有人知道为什么吗?
Material 文本外观指定 android:fontFamily
属性而不是 android:typeface
以便它们可以使用 sans-serif-light
、sans-serif-medium
等。此属性采用优先于字体,因此您需要覆盖或清除 fontFamily 值。
<style name="MenuText">
<item name="android:fontFamily">monospace</item>
...
</style>
我有一种风格可以在我的 Android 应用程序中使用 "monospace":
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar" >
<!-- Customize your theme here. -->
<item name="android:windowNoTitle">true</item>
<item name="android:typeface">monospace</item>
<item name="android:textColorPrimary">@android:color/white</item>
<item name="android:itemTextAppearance">@style/MenuText</item>
</style>
<style name="M13Text">
<item name="android:typeface">monospace</item>
<item name="android:textColor">@android:color/white</item>
<item name="android:textColorLink">@android:color/holo_red_light</item>
</style>
<style name="MenuText">
<item name="android:typeface">monospace</item>
<item name="android:textColor">@android:color/black</item>
</style>
</resources>
一切都很好,直到 Lollipop 出现时它似乎不再使用 Monospace 字体,当我在 Android Studio 中将 API 从 19 翻转到 21 时我可以看到它发生了变化。
我用谷歌搜索但没有找到任何东西,我明白这只是一个表面问题,但有人知道为什么吗?
Material 文本外观指定 android:fontFamily
属性而不是 android:typeface
以便它们可以使用 sans-serif-light
、sans-serif-medium
等。此属性采用优先于字体,因此您需要覆盖或清除 fontFamily 值。
<style name="MenuText">
<item name="android:fontFamily">monospace</item>
...
</style>