какое событие используется для скольжения пальца влево и вправо в Android? - PullRequest
7 голосов
/ 09 июня 2010

Я создаю галерею изображений, если я нажимаю на сетку изображений, она показывает полноэкранное изображение.

Теперь я хочу реализовать функцию сенсорного экрана или перемещения пальца влево и вправо для изменения изображений.

любой, кто мне подскажет, какое событие мне следует использовать или какова процедура

любая помощь будет оценена.

Ответы [ 4 ]

7 голосов
/ 14 июня 2010

, используя этот пример, мы можем обнаружить жесты перемещения пальца влево, вправо, вверх и вниз

http://android -journey.blogspot.com / 2010/01 / андроида-gestures.html

2 голосов
/ 09 июня 2010

Вы должны реализовать onTouchEvent и определить, когда слайд действительно происходит.Для него нет встроенного события.

1 голос
/ 09 июня 2010

Я реализовал это поведение в своем приложении JustPictures для той же цели. Я сделал это через onTouchEvent(MotionEvent event):

if(event.getAction()==MotionEvent.ACTION_MOVE){...}

Вы можете получить положение пальца по X с помощью event.getX() и вычислить смещение от последнего получения события Затем вы можете обновить переменную смещения, которая является частной для вашего представления, и postInvalidate(). Затем ваш метод onDraw позаботится о переводе холста по текущему смещению.

0 голосов
/ 09 июня 2010

Я использовал обратный вызов onGesturePerformed, но вы должны записать шаблон жестов с помощью эмулятора, сохранить шаблон в res и сделать что-то вроде этого: Activity:

mLibrary = GestureLibraries.fromRawResource(this, R.raw.gestures);
if (!mLibrary.load()) {
 finish();
}           
GestureOverlayView gestures = (GestureOverlayView)   
findViewById(R.id.gestures);
gestures.addOnGesturePerformedListener(this);

public void onGesturePerformed(GestureOverlayView overlay, Gesture gesture) {
  ArrayList<Prediction> predictions = mLibrary.recognize(gesture);
  if (predictions.size() > 0 && predictions.get(0).score > 1.0) { ... }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...