Android Lollipop 中的等宽字体发生了什么?

2024-01-17

我有一个在我的 Android 应用程序中使用“等宽”的风格:

<?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 时,我可以看到它发生了变化。

我用谷歌搜索并没有找到任何东西,我很感激这只是一个外观问题,但有人知道为什么吗?


材质文本外观指定android:fontFamily属性而不是android:typeface以便他们可以使用sans-serif-light, sans-serif-medium等。此属性优先于字体,因此您需要覆盖或清除 fontFamily 值。

<style name="MenuText">
    <item name="android:fontFamily">monospace</item>
    ...
</style>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android Lollipop 中的等宽字体发生了什么? 的相关文章

随机推荐