使用AppCompatTheme在棒棒糖前设备上的颜色错误

时间:2016-06-02 15:42:44

标签: android colors styles themes android-appcompat

我的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>

在带有棒棒糖和鞋面的设备上一切都没问题,但是在棒棒糖前面有错误的颜色。看起来主题不适用于具有pre-lollipop android版本的设备。谷歌搜索后我发现人们被建议在AppCompat主题中的每个项目之前删除'android:'前缀,但它对我来说不起作用因为安卓工作室之后没有看到项目。

2 个答案:

答案 0 :(得分:0)

原因是我没有扩展AppCompatActivity。当我改变它时,一切都变好了。

答案 1 :(得分:-1)

colorPrimary,colorPrimaryDark和colorAccent项目仅在API 21 +上可用。如果要在棒棒糖前设备上应用它们,则必须将当前styles.xml文件移动到值-v21并在values文件夹上创建新的styles.xml并使用正确的项目为棒棒糖前。

让Android开发人员查看更多https://developer.android.com/guide/topics/ui/themes.html