Страницы

Поиск по вопросам

вторник, 31 декабря 2019 г.

Android перемещение ImageView по swipe

#android #imageview #android_imageview #swipe


Всем привет!

Реализовано простое активити с картинкой (скрин ниже).

Как сделать выход из активити наподобие как реализовано в приложении VK и во многих
других приложениях (свайп вверх/вниз по ImageView). Чтобы при свайпе картинка немного
приподнималась/приопускалась в зависимости от свайпа.

При свайпе на определенный модуль высоты активити закрывается, иначе картинка возвращается
на начальное положение.

В принципе обработку свайпа вроде есть понимание как сделать, но вот как поднимать/опускать
ImageView при этом вслед за пальцем на экране, что то я не догоняю. Возможно не в ту
сторону иду, направьте в нужное русло.














Заранее спасибо.
    


Ответы

Ответ 1



На счет перемещения за пальцем - добавляешь к своему ImageView onTouchListener: ImageView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: dX = view.getX() - event.getRawX(); dY = view.getY() - event.getRawY(); break; case MotionEvent.ACTION_MOVE: view.animate() .x(event.getRawX() + dX) .y(event.getRawY() + dY) .setDuration(0) .start(); break; case MotionEvent.ACTION_UP: break; default: return false; } return true; } }); Таки образом у тебя ImageView будет следовать за пальцем. А дальше, когда ты отпустишь ее (MotionEvent.ACTION_UP) определяешь - если смещение не большое, то с анимацией перемещаешь ImageView обратно, если смещение достаточное - то выходишь из активити.

Комментариев нет:

Отправить комментарий