我制作了这个XML文件来自定义一个按钮
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<corners android:radius="10dip" />
<gradient
android:angle="90"
android:centerColor="#0043E1"
android:centerY="0.4"
android:endColor="#6495ED"
android:startColor="#6495ED"
android:type="linear" />
</shape>
我应该添加什么来使状态焦点并按下?按下状态的渐变颜色,以及聚焦状态的另一种颜色?
答案 0 :(得分:4)
您需要为按钮
编写选择器<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_normal_color" android:state_focused="true"></item>
<item android:drawable="@drawable/button_focus_color" android:state_pressed="true">/item>
<item android:drawable="@drawable/button_normal_color"></item>
</selector>
将此xml设置为背景按钮
答案 1 :(得分:2)
请参考本教程,了解如何创建适当的drawable-xml文件以允许按钮的不同状态:
答案 2 :(得分:2)
在button_selector.xml
文件夹中创建drawable
,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="false"
android:state_pressed="false" android:drawable="@drawable/image_normal" />
<item android:state_focused="false"
android:state_pressed="true" android:drawable="@drawable/image_pressed" />
<item android:state_focused="true"
android:state_pressed="false" android:drawable="@drawable/image_focused" />
</selector>
然后创建两个xml的一个用于按下,另一个用于聚焦,因为您已创建已经说image_pressed.xml
和image_focused.xml