Also wie ich es verstehe will Du nach Touchdown solange peroidisch was ausführen lassen, bis das TouchUp kommt.
Dafür brauchst Du eine Timerfunktion. Ich mache das immer mit einem Handler
Handler RepeatHandler = new Handler()
{
@Override public void handleMessage(Message msg)
{
// Hier Code für nächsten Animationschritt
sendEmptyMessageDelayed(0, 100); // in Millisekunden
}
public boolean onTouch(View v, MotionEvent event){
switch(event.getAction()){
case MotionEvent.ACTION_DOWN: RepeatHandler.sendEmptyMessage(0); break;
case MotionEvent.ACTION_UP: RepeatHandler.removeMessages(); break;
}
return true;
}
Das verwende ich so und es funktioniert.
Habe allerdings das Problem, dass, wenn man nach dem Touchdown den Finger vom Button wegschiebt, das TouchUp nicht mehr kommt.
Hat jemand dafür eine Lösung ?
— geändert am 07.03.2013, 09:57:32
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.