我正在自定义按钮样式

<style name="custom_button" parent="@android:style/Widget.Button">
    <item name="android:paddingTop">5dp</item>
    <item name="android:paddingBottom">5dp</item>
    <item name="android:textAllCaps">false</item>
    <item name="colorButtonNormal">#f37022</item>
    <item name="android:textColor">#ffffff</item>
</style>


用作

<Button
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
       android:text="Prepaid Package"
       style="@style/custom_button"/>`


但是colorButtonNormal上的颜色已显示为On press状态。

现在做什么?

最佳答案

我从这里拿了例子。

Custom background

如果要根据按钮的状态自定义背景,请执行以下操作:

在res / drawable /中创建一个xml文件,例如button_custom.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/button_pressed"
        android:state_pressed="true" />
    <item android:drawable="@drawable/button_focused"
        android:state_focused="true" />
    <item android:drawable="@drawable/button_default" />
</selector>


然后为实际按钮添加:您可以将默认值与自定义背景合并。

<Button
   ...
    android:background="@drawable/button_custom"  />


同样在您的样式中,要固定自定义按钮样式的背景色:

<item name="android:background">#f37022</item>


"colorButtonNormal"不是按钮的属性,您需要像其他项目一样使用内置属性。

07-27 21:55