Android - Вернуть вид обратно в старое положение после view.animate(), используемого для перетаскивания

У меня есть представление, которое я должен сделать его перетаскиваемым. После того, как пользователь покидает перетаскивание, он должен быть анимирован вниз с текущей позиции. Теперь для перетаскивания я использовал следующий код

 switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:
            dY = view.getY() - event.getRawY();
            rawY = event.getRawY();
            break;
        case MotionEvent.ACTION_MOVE:
            if ((event.getRawY() - rawY) < 0) {
                isDragging = false;
                return false;
            }
            isDragging = true;
            view.animate()
                    .y(event.getRawY() + dY)
                    .setDuration(0)
                    .start();
            break;
        case MotionEvent.ACTION_UP:
            if (!isDragging) {
                return false;
            }
            animateContainer();
            return true;
        default:
            return false;
    }
    return true;

Перетаскивание работает нормально, и после того, как контейнер анимируется вниз, когда пользователь отпускает перетаскивание. Но когда я нажимаю кнопку, чтобы снова открыть контейнер, он не принимает первоначальную высоту. Он вернулся к последней позиции перетаскивания.

Что я могу сделать, чтобы решить это. Спасибо

0 ответов

Другие вопросы по тегам