你可以試試這個教程。
http://www.mkyong.com/android/android-imagebutton-selector-example/
準備3個圖像的按鈕狀態,並把它變成「資源/繪製」文件夾中。
- button_normal_green.png - 默認圖像按鈕。
- button_focused_orange.png - 當按鈕被聚焦時顯示,例如 示例,當手機的鍵盤在此按鈕上移動(聚焦)時。
- button_pressed_yellow.png - 按下按鈕時顯示。
現在,在「res/drawable /」文件夾中以任何名稱創建一個新的XML文件,在這種情況下,我們只需將名稱命名爲「new_button.xml」。這個文件定義了哪個按鈕狀態屬於哪個圖像。
現在,您可以通過此Id參考此按鈕:@ drawable/new_button。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/button_pressed_yellow"
android:state_pressed="true" />
<item android:drawable="@drawable/button_focused_orange"
android:state_focused="true" />
<item android:drawable="@drawable/button_normal_green" />
</selector>
打開「RES /佈局/ main.xml中」文件中,添加一個普通按鈕,並且背景圖像附加到上述的「new_button」經由「機器人:背景=「@繪製/ new_button」
。
您也可以使用一些形狀到位images.Create三種不同形狀的三個不同的按鈕狀態。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
<corners
android:radius="14dp"/>
<gradient
android:angle="45"
android:centerX="35%"
android:centerColor="#7995A8"
android:startColor="#E8E8E8"
android:endColor="#000000"
android:type="linear"/>
<padding
android:left="0dp"
android:top="0dp"
android:right="0dp"
android:bottom="0dp"/>
<size
android:width="270dp"
android:height="60dp"/>
<stroke
android:width="3dp"
android:color="#878787"/>
</shape>
我希望這有助於
我跟着這個教程,但它仍然無法正常工作。 – Osaky11
我可以知道你有什麼試過,所以我可以幫你。 – Victor
我使用我在問題中編寫的解決方案,您的解決方案以及在互聯網上找到的其他許多解決方案。但是選擇器中的按下狀態總是被忽略。我試圖用程序化的方式來做到這一點,它工作正常。但是,當您按下按鈕並將手指滑出按鈕(仍然按下屏幕)時,手機會按住它。 – Osaky11