Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I change the tint of an ImageButton on focus/press

I have an ImageButton in my app and I need to change the tint of the image when the button is pressed/focused. I have the ImageButton set to get its src from an XML file which as follows:

<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android">     <!-- pressed -->     <item          android:state_pressed="true"         android:tint="@color/black"         android:drawable="@drawable/search"         />      <!-- focused -->     <item          android:state_focused="true"         android:tint="@color/black"         android:drawable="@drawable/search"         />      <!-- default -->     <item         android:tint="@null"         android:drawable="@drawable/search"         />  </selector> 

However the tint isn't applied when the ImageButton is pressed or focused - the image just displays as normal. The color black is defined as #000000 as always. Any ideas?

like image 568
Joseph Earl Avatar asked Jun 11 '10 17:06

Joseph Earl


1 Answers

You can change the tint, quite easily in code via:

ImageButton button = (ImageButton) this.findViewById(R.id.button_i_want_to_modify); button.setColorFilter(Color.argb(255, 255, 255, 255)); // White Tint 

Hope it helps.

JS

like image 170
Jeff Avatar answered Sep 20 '22 17:09

Jeff