在AppCompatActivity的情况下不应用字体样式

时间:2015-08-07 12:46:35

标签: android android-5.0-lollipop material-design

我的应用程序中有材质主题,并使用以下样式将字体更改为sans-serif-condensed应用程序

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/color_primary</item>
    <item name="android:textViewStyle">@style/RobotoTextViewStyle</item>
    <item name="colorPrimaryDark">@color/color_primary_dark</item>
    <item name="colorAccent">#000</item>
    <item name="android:windowBackground">@color/color_home_screen_bg</item> 

</style>

<!--Reside menu is the base of everything . and that project inhibits the font below to be application wide.-->
<style name="RobotoTextViewStyle" parent="android:Widget.TextView">
    <item name="android:fontFamily">sans-serif-condensed</item>
</style>

一切都很好。最近我不得不用AppCompatActivity而不是Activity继承其中一个活动。该字体已恢复为默认值,而不是sans-serif。

为什么从AppCompat继承活动不允许我使用我在我的风格中提到的字体?我现在需要将所有活动转换为AppCompatActivity,我真的需要让这个字体工作。

如果我在TextView xml中指定fontfamily属性,那么我确实可以使用该字体。但是在应用程序的每个TextView中,这将是一个非常丑陋的折磨

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

您正在使用的appcompat版本的已知错误会忽略文本视图样式。你可以在这里看到错误:

https://code.google.com/p/android/issues/detail?id=170476

同样的错误报告说,如果你改为22.2就可以修复你的风格了。