我想制作一个带有选择器的按钮,我的按钮可以具有以下状态:
- 启用/禁用
- 按下/未按下
根据上述状态,我需要操纵按钮的:
- 文本颜色
- 背景图片
该按钮开始时处于禁用状态,因此它应该具有禁用的文本颜色和禁用的按钮背景。但是我看到的是默认的文本颜色(在样式中指定)和没有背景图像!
这是我的选择器button_selector.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false"
android:state_enabled="false"
android:textColor="#9D9FA2"
android:drawable="@drawable/button" />
<item android:state_pressed="true"
android:state_enabled="true"
android:drawable="@drawable/button_pressed"/>
<item android:state_pressed="true"
android:state_enabled="false"
android:textColor="#9D9FA2"
android:drawable="@drawable/button"/>
<item android:state_pressed="false"
android:state_enabled="true"
android:drawable="@drawable/button"/>
</selector>
这是我的布局文件(layout.xml)中的按钮声明:
<Button android:id="@+id/reserve_button"
android:text="@string/reserve_button"
android:layout_width="120dp"
android:layout_height="40dp"
android:layout_marginTop="10dp"
android:layout_marginLeft="20dp"
android:paddingRight="15dp"
android:layout_gravity="left"
style="@style/buttonStyle"
android:background="@drawable/button_selector" />
最后这是我的样式(其中设置了默认的文本颜色)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="buttonStyle">
<item name="android:textStyle">bold</item>
<item name="android:textColor">#282780</item>
<item name="android:textSize">18sp</item>
</style>
</resources>
请帮忙!
@color
。现在已经更新了。 - Adil Soomrotext_color.xml
放在drawable
文件夹中,否则它无法编译(至少对我来说如此)。这需要将其称为@drawable/text_color
。 - Al Lelopathcolor
是颜色状态列表资源的正确文件夹。欢迎你的编辑。 - Adil Soomro