视图变得消失,并在onTouchEvent上震撼

时间:2014-11-17 16:09:18

标签: android android-layout view touch ontouchlistener

我有一个布局,我在其上放置一个视图并仅在水平方向上移动。我设法这样做,但问题是拖动不是很顺利,它摇晃很多,有时最终会出现错误的坐标。

除此之外,当我对该视图进行大量播放时,它会从布局中消失。

这是mu xml文件

 <FrameLayout
    android:layout_width="match_parent"
    android:layout_height="300dip"
    android:id="@+id/graph"
    android:orientation="vertical"
    android:background="#ffffff"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true">

    <View
        android:id="@+id/drag_line"
        android:layout_width="50dp"
        android:visibility="visible"
        android:background="@drawable/line"
        android:layout_gravity="center_horizontal|top"
        android:layout_height="170dp"
        android:src="@drawable/line" />

</FrameLayout>

这是我的onTouch视图事件处理程序,

  line.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {
            final int action = motionEvent.getAction();
            final int x = (int) motionEvent.getRawX();
            final int y = (int) motionEvent.getRawY();


            switch (action & MotionEvent.ACTION_MASK) {
             `enter code here`   case MotionEvent.ACTION_MOVE:{
                    FrameLayout.LayoutParams params = (FrameLayout.LayoutParams) view.getLayoutParams();
                    int currentX = (int) motionEvent.getX();
                    params.rightMargin = (params.rightMargin - (currentX));
                    params.leftMargin = (params.leftMargin + (currentX));
                    line.setLayoutParams(params);
                    line.invalidate();
                    break;
                }
                case MotionEvent.ACTION_UP: {

                        dynamicUpdate(line.getX());
                        touchFlag = true;

                }
            }
            return true;
        }
    });

我想在ACTION_Up上处理一个条件。

我无法理解为什么视图在触摸移动时抖动布局,有时会消失。

0 个答案:

没有答案