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;
        }
    });
War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top