Я использую GestureDetectorCompat
, чтобы сделать базовую анимацию высоты ViewGroup
.В событии onScroll
я беру ViewGroup
и вычитаю или добавляю distanceY
, полученную из сигнатуры метода onScroll
.
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) container.getLayoutParams();
params.height = (int) (container.getHeight() + distanceY);
container.setLayoutParams(params);
return true;
}
Анимация очень прерывистая / мерцательная.Я что-то здесь упускаю?Есть ли лучший способ анимировать высоту View
в соответствии с событиями движения?
Еще один вопрос, который у меня возникает, когда я перетаскиваю изображение вниз, distanceY
из события onScroll
содержит положительные и отрицательные значения.Разве перетаскивание не должно состоять только из отрицательных значений?как я могу определить, тянет ли пользователь вниз или вверх?