Question

Is it possible to specify a different image when the user's focus comes to an ImageButton? I want to display an image button on a LinearLayout and change the image when the user's focus comes on the button or when the user presses the button.

Thanks.

Was it helpful?

Solution

Yes, you can do this. What you need is a drawable xml file that defines a selector.

<selector xmlns:android...
  <item android:state_enabled="false" android:state_focused="true" android:drawable="..." />
  <item android:state_enabled="true" android:state_focused="false" android:drawable="..." />
</selector>

Then, use the id of this drawable XML when specifying the ImageButton in your layout XML.

OTHER TIPS

The precedent answer did not work for me. Here is the code I found somewhere else:

    <selector xmlns:android="http://schemas.android.com/apk/res/android" >
         <item android:drawable="@drawable/refresh_pushed" android:state_pressed="true" />
         <item android:drawable="@drawable/refresh" />
    </selector>

You can also add a state for foccussed objects by adding a line and using:

android:state_focused="true"

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top