Android-将view.animate()用于拖动后,将视图还原到旧位置

时间:2018-11-25 08:57:52

标签: android animation android-animation viewanimator

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

 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 个答案:

没有答案