1

我有一个视图,我必须使其可拖动。用户离开拖动后,将从当前位置向下动画。现在拖动我使用了下面的代码

 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;

拖动工作正常,并且在用户释放拖动时容器被动画下来。但是当我再次按下按钮打开容器时,它并没有达到原来的高度。它回到最后一个拖动位置。

我能做些什么来解决这个问题。谢谢

4

0 回答 0