android AppCompat v22.1.0 按钮样式

android AppCompat v22.1.0 button styling

问题:无法为我的按钮正确设置样式

来源非常简单:

styles.xml:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">#FF00FF</item>
    <item name="colorSecondary">#00FFFF</item>
    <item name="colorControlNormal">#FF0000</item>
    <item name="android:textColor">#0030FF</item>
    <item name="android:textColorPrimary">#00FF00</item>
    <item name="android:textColorSecondary">#800080</item>
</style>

布局(应用于AppCompatActivity):

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TEXTVIEW"/>

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="BUTTON"
    />

<CheckBox
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    />

清单:

 <application
    android:theme="@style/AppTheme" >

问题 1 是:colorControlNormal 不影响 Button(但影响 CheckBox)。如何为所有按钮应用任何颜色?

问题 2 是:android:textColorPrimary 属性为 Button 文本设置颜色,但属性 android:textColor 与它重叠,同时为 TextView 和 Button 文本设置颜色。我如何分别设置它们?

您可以通过将此行添加到主题来设置默认按钮颜色。

<item name="colorButtonNormal">@color/your_color</item>

它适用于 Pre-Lollipop 和 Lollipop。