我有自己的主题。它适用于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>
答案 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>