@Rellorer

Как сделать плавно выдвигающийся блок в Android?

Пытаюсь реализовать шторку как в приложении habitify (скриншоты)
Шторка открывается либо по нажатию, либо если потянуть вниз. При этом сама шторка выезжает плавно и доводится до полного открытия/закрытия самостоятельно (но пока не отпустишь палец этот процес можно контролировать двигая ее вверх/вниз).
Я сделал подобное с помощью метода onTouch. И впринципе оно так работает, но ни о какой плавной доводке речи не идет.
Подскажите каким образом лучше реализовать подобное поведение.
5e73b6364789e220264025.png
5e73b639e8923760105545.png
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
sandroisu
@sandroisu
Все good
Не знаю на сколько плавно должно двигаться, вот код из проекта, тут двигается картинка по экрану, по моему только вверх-вниз, вроде плавно по ощущениям
sY = imageAttachment.getY();// переменная для возврата изображения к центру экрана
imageAttachment.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {

switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
dY = (v.getY() - event.getRawY());
return true;

case MotionEvent.ACTION_MOVE:
v.animate()
.y(event.getRawY() + dY)
.setDuration(0)
.start();
return true;
case MotionEvent.ACTION_UP:
v.animate()
.y(sY)
.setDuration(300)
.start();
return true;
}
return false;
}
});
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы