Android Lollipop中的Monospace发生了什么?

前端之家收集整理的这篇文章主要介绍了Android Lollipop中的Monospace发生了什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一种在我的 Android应用程序中使用“monospace”的风格:
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources xmlns:android="http://schemas.android.com/apk/res/android">
  3. <!-- Base application theme. -->
  4. <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar" >
  5. <!-- Customize your theme here. -->
  6. <item name="android:windowNoTitle">true</item>
  7. <item name="android:typeface">monospace</item>
  8. <item name="android:textColorPrimary">@android:color/white</item>
  9. <item name="android:itemTextAppearance">@style/MenuText</item>
  10. </style>
  11.  
  12. <style name="M13Text">
  13. <item name="android:typeface">monospace</item>
  14. <item name="android:textColor">@android:color/white</item>
  15. <item name="android:textColorLink">@android:color/holo_red_light</item>
  16. </style>
  17.  
  18. <style name="MenuText">
  19. <item name="android:typeface">monospace</item>
  20. <item name="android:textColor">@android:color/black</item>
  21. </style>
  22. </resources>

一切都很好,直到棒棒糖到达时它似乎不再使用Monospace字体了,当我在Android Studio中将API从19翻转到21时,我可以看到它发生了变化.

我用谷歌搜索,没有找到任何东西,我很欣赏这只是一个美容问题,但任何人都有任何想法,为什么?

解决方法

Material文本外观指定android:fontFamily属性而不是android:typeface,以便它们可以使用sans-serif-light,sans-serif-medium等.此属性优先于字体,因此您需要覆盖或清除fontFamily值.
  1. <style name="MenuText">
  2. <item name="android:fontFamily">monospace</item>
  3. ...
  4. </style>

猜你在找的Android相关文章