如何在android中顺利拖动视图

时间:2015-07-20 21:46:18

标签: android drag

我希望能够以平滑的方式水平拖动视图。我使用以下代码

public boolean onTouch(View v, MotionEvent event) {
    switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:
        {
           \\setup before dragging
        }
        break;
        case MotionEvent.ACTION_MOVE:
        {
             v.setX((dx += speedFactor));
        }
        break;
        case MotionEvent.ACTION_UP:
        {
            \\setup after dragging
        }
        return true;
    }
    return true;
}

当我使用小型speedFactore< 10动画很流畅但视图移动速度很慢。当我增加它时它不会像我希望的那样顺畅地移动。

如何拖动非常平滑,快一点?

1 个答案:

答案 0 :(得分:2)

通常,您没有常数" speedFactor"因为拖动意味着您希望手指下方的视图,所以它的移动速度与手指一样快。

您可以在开始时存储初始触摸位置(ACTION_DOWN),并根据ACTION_MOVE事件期间当前和初始位置的差异更改视图的位置。

移动的平稳程度取决于设备的计算能力等。