我在应用程序中遇到一个非常奇怪的错误。它显示按钮的文本,但不显示按钮本身。这是一个截图:
UIAccessibilityIdentification
然后我检查了主题编辑器,看看可能会发生什么,我得到的内容如下所示:
编辑器似乎无法正确渲染材质设计,无论它是暗还是亮。例如,当我将它切换到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}}
答案 0 :(得分:0)
好的,我终于找到导致错误的原因:我的主要活动是扩展AppCompatActivity
(这是Android Studio在早期阶段生成的)。当我将其改为扩展FragmentActivity
时,一切都像魅力一样。
此解决方案解决了按钮以及主题编辑器问题。我不知道为什么当我的主应用程序没有扩展正确的类时,主题编辑器不会显示自定义材质设计,但是这一小段代码更改了我所有的问题。