按钮未显示,材料主题无效

时间:2016-06-18 14:36:58

标签: android android-studio themes material-design android-styles

我在应用程序中遇到一个非常奇怪的错误。它显示按钮的文本,但不显示按钮本身。这是一个截图: UIAccessibilityIdentification

然后我检查了主题编辑器,看看可能会发生什么,我得到的内容如下所示: enter image description here

编辑器似乎无法正确渲染材质设计,无论它是暗还是亮。例如,当我将它切换到Holo时,一切正常。

我的AndroidStudio是最新的,我不知道发生了什么,但我也会在这里提供我的styles.xml文件:

V21 \ styles.xml

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:colorBackground">@color/background_material_light</item>
        <item name="android:actionBarStyle">@style/MyActionBarTheme</item>
        <item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
        <item name="preferenceStyle">@style/PreferenceThemeOverlay.v14.Material</item>
    </style>


    <style name="MyActionBarTheme" parent="Widget.AppCompat.ActionBar">
        <item name="android:background">@color/colorAccent</item>
        <item name="android:titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item>
    </style>

    <style name="MyTheme.ActionBar.TitleTextStyle" parent="@android:style/TextAppearance">
        <item name="android:textColor">@color/colorPrimary</item>
    </style>

    <style name="AppTheme.NoActionBar">
        <item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Material</item>
        <item name="preferenceStyle">@style/PreferenceThemeOverlay.v14.Material</item>
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>

    <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

    <style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

</resources>

styles.xml     

{{1}}

1 个答案:

答案 0 :(得分:0)

好的,我终于找到导致错误的原因:我的主要活动是扩展AppCompatActivity(这是Android Studio在早期阶段生成的)。当我将其改为扩展FragmentActivity时,一切都像魅力一样。

此解决方案解决了按钮以及主题编辑器问题。我不知道为什么当我的主应用程序没有扩展正确的类时,主题编辑器不会显示自定义材质设计,但是这一小段代码更改了我所有的问题。