Как изменить минимальное расстояние свайпа в галерее Android?


У меня есть класс, который расширяет Gallery под названием MyGallery, и у меня есть набор растровых изображений для отображения в виджете MyGallery. Чтобы прокрутить только один элемент за жест, мне пришлось переопределить onFling(), чтобы он не вызывал super.onFling(). Проблема в том, что для того, чтобы изменить элемент, я должен прокрутить более 50% от размера экрана, и это беспокоит меня. Я провел поиск, но не нашел никаких способов изменить этот минимальный предел. Есть ли способ сделать это?

1 2

1 ответ:

Вы можете использовать объект MotionEvent для обработки минимального и максимального расстояний свайпа.
Вычислите расстояние свайпа, используя объект MotionEvent, т. е.., событие.

@Override
public boolean onTouchEvent(MotionEvent event)
{
    // TODO Auto-generated method stub
    float rawX = 0.0f, dist;
    switch (event.getAction()) 
    {
    case MotionEvent.ACTION_DOWN:
        rawX = event.getX();
        break;
    case MotionEvent.ACTION_UP:
        dist = event.getX() - rawX;
        break;
    default:
        break;
    }
    return super.onTouchEvent(event);
}