我的style.xml文件中有这个
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light">
<!-- Customize your theme here. -->
<!--<item name="colorPrimary">@color/colorPrimary</item>-->
<!--<item name="colorAccent">@color/colorAccent</item>-->
<item name="android:windowBackground">@color/white</item>
<item name="android:windowTranslucentStatus">true</item>
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="LoginScreenTheme" parent="AppTheme">
<item name="android:textColor">@color/white</item>
<item name="colorAccent">@color/white</item>
<item name="colorPrimaryDark">@color/login_background_dark</item>
</style>
<style name="LoginEditTextTheme" parent="AppTheme">
<item name="colorControlNormal">@color/login_edit_text_hint_color</item>
<item name="colorControlActivated">@color/login_edit_text_accent</item>
<item name="colorControlHighlight">@color/login_edit_text_accent</item>
<item name="android:textColorHint">@color/login_edit_text_hint_color</item>
<item name="android:textColorPrimary">@color/white</item>
</style>
<style name="LoginErrorFloatingLabelTheme" parent="TextAppearance.AppCompat.Small">
<item name="android:textColor">@color/login_error_floating_label_color</item>
</style>
<style name="ActionBarTheme" parent="AppTheme">
<item name="android:background">@color/home_primary_color</item>
</style>
<style name="LoginWaitingProgressBar" parent="AppTheme">
<item name="colorAccent">@color/orange_light</item>
</style>
</resources>
在带有棒棒糖和鞋面的设备上,一切都很好,但在棒棒糖之前的设备上有错误的颜色。看起来这个主题并没有应用于之前棒棒糖安卓版本的设备。在谷歌搜索后,我发现人们被建议删除AppCompat主题中每个项目之前的"android:"前缀,但这对我来说不起作用,因为android工作室看不到之后的项目。
原因是我没有扩展AppCompatActivity。当我改变它的时候,一切都好了。
colorPrimary、colorPrimaryDark和colorAccent项目仅在API 21+上可用。如果您想在棒棒糖之前的设备上应用它们,则必须将当前styles.xml文件移动到values-v21,并在values文件夹上创建新的styles.xml,并为棒棒糖之前使用正确的项目。
查看android开发者了解更多https://developer.android.com/guide/topics/ui/themes.html