Android 难以移动线性布局

Android 难以移动线性布局,android,android-layout,Android,Android Layout,我有一个linearlayout,其中包含一些其他布局,我需要能够通过按住它来移动此布局。我已经实现了这个代码和它的移动。但问题是,当我触摸它时,它会振动得更多(即使在移动布局时也会振动) 这是我试过的代码 private int _xDelta; private int _yDelta; LinearLayout ll= (LinearLayout) v.findViewById(R.id.layoutid); ll.setOnTouchListener(new OnTouchListener

我有一个
linearlayout
,其中包含一些其他布局,我需要能够通过按住它来移动此布局。我已经实现了这个代码和它的移动。但问题是,当我触摸它时,它会振动得更多(即使在移动布局时也会振动)

这是我试过的代码

private int _xDelta;
private int _yDelta;
LinearLayout ll= (LinearLayout) v.findViewById(R.id.layoutid);
ll.setOnTouchListener(new OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent ev) {
                final int x_cord = (int) ev.getX();
                final int y_cord = (int) ev.getY();
                mScaleDetector.onTouchEvent(ev);
                final int action = ev.getAction();
                switch (action) {
                case MotionEvent.ACTION_DOWN: {
                    _xDelta = x_cord - (int) ll.getX();
                    _yDelta = y_cord - (int) ll.getY();
                    break;
                }
                case MotionEvent.ACTION_MOVE: {
                    if (!mScaleDetector.isInProgress()) {
                        ll.setX(x_cord - _xDelta);
                        ll.setY(y_cord - _yDelta);
                    } else {

                    }

                    break;
                }

                }
                return true;
            }
        });

问题可能是您得到的X和Y值。
getX()
getY()
方法得到一个插值点,而
getRawX()
getRawY()
将得到您想要的更精确的点,这将解决振动问题。

问题可能是您得到的X和Y值。
getX()
getY()
方法获得一个插值点,而
getRawX()
getRawY()
将获得您想要的更精确的点,这将解决振动问题。

尝试不使用内部布局,它仍然振动吗?我需要内部布局和视图。那些保存着数据。我也有一个图像作为背景。所有这些都是项目所必需的。我知道,但我的意思是,如果你现在删除所有内容并尝试不使用内部布局,那么就更容易看到问题的所在。我得到了答案,谢谢:)Phil解决方案对我有效。尝试不使用内部布局,它是否仍会振动?我需要内部布局和视图。那些保存着数据。我也有一个图像作为背景。所有这些都是项目所必需的。我知道,但我的意思是,如果你现在删除所有内容,尝试不使用内部布局,那么就更容易看到问题出在哪里了。我得到了答案,谢谢:)Phil solution为我工作。