你好,我是android的新开发者,也是新开发者。我想在用户点击时更改按钮的颜色,并在用户释放时重置颜色。请告诉我,我该怎么做? 这是我用作按钮`背景的布局文件
<solid android:color="@android:color/transparent"/>
<stroke android:width="2dp" android:color="#FFFFFF"/>
<corners android:bottomRightRadius="16dp"
android:bottomLeftRadius="16dp"
android:topLeftRadius="16dp"
android:topRightRadius="16dp"/>
`
答案 0 :(得分:3)
使用按下状态下所需的颜色制作另一个可绘制的。并制作一个可绘制的:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/btn_pressed" android:state_pressed="true"></item>
<item android:drawable="@drawable/btn_pressed" android:state_focused="true"></item>
<item android:drawable="@drawable/btn_normal"></item>
使用btn_pressed作为按下状态drawable和btn_normal作为普通drawable。
答案 1 :(得分:1)
您应该使用选择器来实现此功能,并将它们设置为按钮的backgorund,如:
<Button
android:background:"@drawable/ button_bg"/>
在drawable文件夹中创建一个button_bg.xml,如:
<?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/red"/> <!-- pressed -->
<item android:state_focused="true" android:drawable="@color/blue"/> <!-- focused -->
<item android:drawable="@color/black"/> <!-- default -->
</selector>
在res / values文件夹中创建colors.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="black">#000</color>
<color name="blue">#00f</color>
<color name="red">#f00</color>
</resources>
你也可以使用图像代替可绘制文件夹中的颜色
答案 2 :(得分:0)
您只需在布局文件中设置按钮选择器。
<Button
android:id="@+id/button1"
android:background="@drawable/selector_xml_name"
android:layout_width="200dp"
android:layout_height="126dp"
android:text="Hello" />
以下是drawable目录中的button_effect.xml文件
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/numpad_button_bg_selected" android:state_selected="true"></item>
<item android:drawable="@drawable/numpad_button_bg_pressed" android:state_pressed="true"></item>
<item android:drawable="@drawable/numpad_button_bg_normal"></item>
</selector>
答案 3 :(得分:0)
使用选择器:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@drawable/button_up" android:state_enabled="true"/>
<item android:drawable="@drawable/button_up" android:state_pressed="true"/>
<item android:drawable="@drawable/normal_button"/>
</selector>