I want to create an event to change what my image button looks like, but only when it is being pushed down. So far I have been using an onTouch listener, but that just changes it permanently. I can't find anything like an onKyeUpListener() type of thing for the button.
Does anything like this exist?
SOLVED
final ImageButton button = (ImageButton) findViewById(R.id.ImageButton01);
button.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if(event.getAction() == (MotionEvent.ACTION_UP)){
//Do whatever you want after press
}
else{
//Do whatever you want during press
}
return true;
}
});
It's in the docs. You can define different images for different states via XML.
Instead of doing it manually, why don't you change the drawable of your buttons? In general, drawables can have multiple states, so if you change the drawable for certain states (like focused or selected), the operating system will handle everything for you automatically.
From http://developer.android.com/guide/topics/ui/ui-events.html:
In other words,
onTouch
is also called for release events. Look atMotionEvent.getAction()
.