Wie würde ich setzte einen Image nur zu ändern, wenn meine Finger zu berühren
-
26-09-2019 - |
Frage
Ich möchte ein Ereignis schaffen, was Taste mein Bild sieht sich ändern mögen, aber nur, wenn es nach unten gedrückt wird. Bisher war ich schon ein OnTouch Hörer verwenden, aber das ändert sich gerade endgültig einzustellen. Ich kann nicht alles wie eine onKyeUpListener () Art der Sache für die Schaltfläche finden.
Gibt es etwas wie dieses gibt es?
GELÖST
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;
}
});
Lösung
http://developer.android.com/guide/topics /ui/ui-events.html :
OnTouch () ... Dies wird aufgerufen, wenn der Benutzer eine Aktion als Touch-Event qualifiziert, einschließlich einer Presse, eine Freigabe oder einer Bewegung Geste auf dem Bildschirm (innerhalb der Grenzen des Artikels).
Mit anderen Worten, es wird onTouch
auch für die Freigabe Ereignisse genannt. Blick auf MotionEvent.getAction()
.
Andere Tipps
Es ist in der docs . Sie können verschiedene Bilder für verschiedene Zustände über XML definieren.
Statt es manuell zu tun, warum Sie nicht die ziehbar der Tasten ändern? Im Allgemeinen können Drawables mehrere Zustände haben, wenn Sie also die ziehbar für bestimmte Zustände ändern (wie fokussiert oder gewählt), das Betriebssystem alles für Sie erledigen automatisch.