Ответ 1
Вот как вы реализуете сенсорный прослушиватель в Android.
yourImageView.setOnTouchListener(new OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
return false;
}
});
Чтобы обнаружить двойные краны, вы используете GestureDetector следующим образом:
1) Создайте собственный GestureDetector, полученный из SimpleOnGestureListener, и переопределите методы, которые вас интересуют (см. google docs на SimpleOnGestureListener для точных методов, которые вы можете переопределить, я сделал здесь двойное нажатие):
class MyGestureDetector extends GestureDetector.SimpleOnGestureListener
{
@Override
public boolean onDoubleTapEvent(MotionEvent e)
{
Log.i("Taghere..", "onDoubleTapEvent");
return true;
}
}
2) Создайте экземпляр вашего указателя жестов. Я делаю переменную-член и создаю экземпляр в onCreate.
private GestureDetector mDetector;
mDetector = new GestureDetector(this, new MyGestureDetector());
3) Настройте сенсорный прослушиватель на вашем изображении и направьте сообщения вашему детектору жестов:
ImageView iv = (ImageView)findViewById(R.id.yourimageviewid);
iv.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event)
{
mDetector.onTouchEvent(event);
return true;
}});
Я бы переопределил методы в MyGestureDetector и запустил logcat, как я делаю дважды, чтобы понять, как это работает.