Desidero pulsante immagine con due stati i) normale ii) tocco (o clic).Come impostare l'immagine di sfondo del pulsante immagine per stato diverso?
Ho impostato immagine normale nel ImageButton sfondo e sto cercando di cambiare immagine (premuto) da onclick metodo, ma non cambia.
Voglio che se premo il tasto immagine, l'immagine dovrebbe cambiare da normale a premuto fino a quando premo altro pulsante, ma non succede.
Qualcuno può suggerirmi come posso farlo con il selettore o in fase di esecuzione?
Ecco il mio codice imagebuttonpanel.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal"
android:gravity="bottom"
android:id="@+id/buttonpanel">
<ImageButton android:id="@+id/buttonhome"
android:layout_width="80dp"
android:layout_height="36dp"
android:focusable="true"
android:background="@drawable/homeselector">
</ImageButton>
<ImageButton android:id="@+id/buttonsearch"
android:layout_height="36dp"
android:layout_width="80dp"
android:background="@drawable/searchselector"
android:focusable="true">
</ImageButton>>
<ImageButton android:id="@+id/buttonreg"
android:layout_height="36dp"
android:layout_width="80dp"
android:background="@drawable/registerselector"
android:focusable="true">
</ImageButton>>
<ImageButton android:id="@+id/buttonlogin"
android:layout_height="36dp"
android:layout_width="80dp"
android:background="@drawable/loginselector"
android:focusable="true">
</ImageButton>
</LinearLayout>
e il mio selettore 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="@drawable/homehover"
/> <item android:state_focused="true" android:drawable="@drawable/homehover"
/> <item android:drawable="@drawable/home" /> <item android:state_window_focused="true"
android:drawable="@drawable/homehover" /> -->
<item android:state_enabled="false" android:drawable="@drawable/homehover" />
<item android:state_pressed="true" android:state_enabled="true"
android:drawable="@drawable/homehover" />
<item android:state_focused="true" android:state_enabled="true"
android:drawable="@drawable/homehover" />
<item android:state_enabled="true" android:drawable="@drawable/home" />
</selector>
E ho anche provato a cambiare risorsa immagine sull'evento ontouch e onclick, ma non aiuta.
Penso che tu sembri per qualcosa come [questo] (http://stackoverflow.com/questions/3097710/android-change-button-background-programmatically/3097844#3097844). Ho fatto una domanda simile prima. –