如何创建一个按钮来更改其背景图像以表示默认,按下或聚焦状态?
答案 0 :(得分:0)
使用选择器非常容易。
在drawable文件夹中创建一个包含以下内容的新xml文件:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/drawable_selected" android:state_selected="true"></item>
<item android:drawable="@drawable/drawable_pressed" android:state_pressed="true"></item>
<item android:drawable="@drawable/drawable_default"></item>
</selector>
然后在按钮中引用此选择器:
<Button
android:id="@+id/button"
android:background="@drawable/selector_you_just_made"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Button" />
可以找到更多文档和其他可能的状态here。
答案 1 :(得分:0)
XML drawable:
<?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:id="@+id/button_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send"
android:onClick="sendMessage"
android:background="@drawable/button_custom" />