2016-06-21 18 views
1

Ich habe viele Beispiele für ImageButton auf Hover gesehen, aber sie ändern das Bild. Ich möchte nur die Hintergrundfarbe ändern.Change ImageButton Backgound Farbe auf drücken

Dies ist mein Wähler -

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

<item android:state_pressed="true" android:color="#4B88F7"/> 
<item android:state_pressed="false" android:color="#121212"/> 

Und meine Image -

<ImageButton 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="2" 
     android:background="@color/actionbar_btn" 
     android:src="@drawable/ic_remove" /> 

Antwort

1

eine Datei mit folgendem Inhalt custom_selector.xml in res/drawable/ Verzeichnis erstellen:

<selector 
    xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true" android:drawable="@color/btn_pressed"/> 
    <item android:state_pressed="false" android:drawable="@color/btn_released"/> 
</selector> 

Dann ist diese anzuwenden Hintergrund zu ImageButton von Setti ng es als background:

<ImageButton 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_weight="2" 
    android:background="@drawable/custom_selector.xml" 
    android:src="@drawable/ic_remove" /> 

Siehe https://developer.android.com/guide/topics/resources/color-list-resource.html

+0

es eine Ausnahme gab. Tag erfordert ein Zeichenattribut oder Kind-Tag, das ein Zeichen definiert – reza

+0

@reza, ich habe meinen Beitrag bearbeitet. Sie müssen die Farben 'btn_pressed' und' btn_released' erstellen. – Kairat

+0

hat gut funktioniert danke :) – reza