В представлении я хочу обнаружить как одиночное нажатие, так и двойное нажатие. Он отлично работает со мной. Я могу обнаружить как одиночное, так и двойное нажатие. Пожалуйста, найдите мой код
@Override
public boolean onTouch(View view, MotionEvent me) {
// No dragging during animation at the moment.
// TODO: Stop animation on touch event and return to drag mode.
boolean result = true;
result = gestureDetector.onTouchEvent(me);//return the double tap events
if(result)
return false;
switch (me.getAction()) {
case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_MOVE:
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
}
private class GestureListener extends GestureDetector.SimpleOnGestureListener {
private String fileName;
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
// TODO Auto-generated method stub
return false;
}
// event when double tap occurs
@Override
public boolean onDoubleTap(MotionEvent e) {
float x = e.getX();
float y = e.getY();
if(player!=null && player.isPlaying())
{
player.stop();
}
else
{
setFileName(x);
player = new AudioPlayer(fileName);
player.play();
}
return true;
}
}
Я делаю некоторый код в событии Action_UP. Так что даже когда я делаю двойной тап, для первого тапа вызывается событие ACTION_UP и выполняется соответствующий код. Я хочу предотвратить это. Как я могу это сделать. Я просто хочу убедиться, что ACTION_UP вызывается только тогда, когда пользователь закончит свой жест. Не сразу после его частичного жеста. В этом случае он вызывается при первом касании пальцем вверх.
Как я могу заставить это работать в Android?
Спасибо
MotionEvent
, хотя вы можете, например, сделать так, чтобы каждый раз, когда вы нажимаете / касаетесь, он вычислял время с момента последнего нажатия, а затем делал разные вещи в соответствии с этим временем. - person vallentin   schedule 29.08.2013onXTap
функциях - person gunar   schedule 29.08.2013