Android - 不同设备上的不同背景

时间:2016-02-24 12:41:18

标签: java android xml

我有自己的主题。它适用于Android 5+(按钮'背景是我定义的黑色,黑色活动背景,按钮'文本颜色)。所有颜色都是正确定义的。

但是在Android 4按钮'背景是白色的(像标准主题)(一切都很好)。 我不知道为什么。 按钮:

 <Button
        android:layout_width="303dp"
        android:layout_height="wrap_content"
        android:text="@string/auth_button"
        android:id="@+id/auth_endwork_button"
        android:padding="@dimen/activity_horizontal_margin"
        android:layout_gravity="center_horizontal"/>

style.xml

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:colorForeground">@color/textColorSecondary</item>
        <item name="android:colorBackground">@color/colorBackground</item>
        <item name="android:textColor">@color/textColorPrimary</item>
        <item name="android:textColorPrimary">@color/textColorPrimary</item>
        <item name="android:windowBackground">@color/windowBackground</item>
        <item name="android:itemBackground">@color/colorBackground</item>
        <item name="android:buttonStyle">@style/ButtonText</item>
        <item name="android:editTextStyle">@style/EditTextStyle</item>
    </style>

    <style name="EditTextStyle" parent="android:style/Widget.EditText">
        <item name="android:textColor">@color/textColorPrimary</item>
        <item name="android:background">@color/colorBackground</item>
    </style>

    <style name="ButtonText" parent="@android:style/Widget.Button">
        <item name="android:background">@drawable/button_style</item>
        <item name="android:textColor">@color/text_color</item>
        <item name="android:padding">0dp</item>
        <item name="android:minWidth">88dp</item>
        <item name="android:minHeight">36dp</item>
        <item name="android:layout_margin">3dp</item>
    </style>

    <style name="AppTheme.NoActionBar">
        <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"/>

按钮样式:

    <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true"
          android:drawable="@color/buttonPressed" /> <!-- pressed -->
    <item android:drawable="@color/colorPrimary" /> <!-- default (not pressed) -->
</selector>

颜色

    <?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#FF212121</color>
    <color name="colorPrimaryDark">#FF000000</color>
    <color name="colorAccent">#FF80CBC4</color>
    <color name="colorBackground">#FF303030</color>
    <color name="textColorPrimary">#FFFFFFFF</color>
    <color name="textColorSecondary">#FFFFFFFF</color>
    <color name="windowBackground">#FF303030</color>
    <color name="buttonPressed">#FF3B3B3B</color>
    <color name="buttonDisabled">#83868a</color>
</resources>

2 个答案:

答案 0 :(得分:1)

我没有专家。但它可能与4到5之间的AppCompat变化有关吗?

[AppVompat v21 - 前Lolipop的材料设计] http://android-developers.blogspot.se/2014/10/appcompat-v21-material-design-for-pre.html 1

答案 1 :(得分:0)

<item name="android:buttonStyle">@style/ButtonText</item>

删除“android:”

    <item name="buttonStyle">@style/ButtonText</item>