If we wish to display another image on the ImageButton after it has been clicked then we use selectors.

Selector is an  xml file which is created in the drawable folder , helps us set a default image and a image that is set on of the following events:-

1. android:state_focused

2. android:state_enabled

3. android:state_checkable

4. android:state_selected

5. android:state_pressed

6. android:state_active

7. android:state_single

8. android:state_accelerated

9. android:state_hovered

10. android:state_drawable

11. android:state_first

12. android:state_last

13. android:state_middle

When the image button is used in layout ,then instead of selecting a image ,select the selector xml file in the following way:

STEPS:

1. Create a xml file for selector in the drawable folder.

Syntax:

<selector xmlns:android=”http://schemas.android.com/apk/res/android” >
<item android:drawable=”@drawable/camera_pressed”
android:state_pressed=”true” />
<item android:drawable=”@drawable/camera_normal” android: />

</selector>

2. Set android:background attribute in the following way

android:background=”@drawable/review_selector”

Example:

<ImageButton
android:id=”@+id/reviewBtn_id”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_alignTop=”@+id/playBtn_id”
android:layout_marginTop=”63dp”
android:layout_toRightOf=”@+id/playBtn_id”
android:background=”@drawable/review_selector” />

 

By Rachita Nanda