Android Lollipop中的Monospace发生了什么?

我有一种在我的 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>

一切都很好,直到棒棒糖到达时它似乎不再使用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性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...