触摸GestureOverlayView时,使布局不可滚动

时间:2019-04-22 14:03:14

标签: android kotlin scrollview gesture

FragmentA中,我有一个可滚动的布局。在布局里面,我有 GestureOverlayView

<android.gesture.GestureOverlayView
                android:id="@+id/signGesture"
                android:layout_width="match_parent"
                android:layout_height="200dp"
                android:background="@android:color/white"
                android:fadeEnabled="false"
                android:fadeOffset="10000"
                android:gestureColor="@color/black"
                android:gestureStrokeLengthThreshold="0.1"
                android:gestureStrokeType="multiple"
                android:orientation="vertical">

是否有一种方法可以使触摸GestureOverlayView时的布局无法滚动?我无法绘制任何东西,因为布局正在移动!

enter image description here

1 个答案:

答案 0 :(得分:0)

您应该在手势视图上使用OnGesturePerformedListener,然后在其中通过在触摸侦听器上返回scrollView来禁用true滚动

gesture.addOnGesturePerformedListener(new OnGesturePerformedListener() {

    public void onGesturePerformed(GestureOverlayView v, Gesture g) {

        mScrollView.setOnTouchListener( new OnTouchListener() {

          @Override
          public boolean onTouch(View v, MotionEvent event) 
          {
                return true;
          }
        });
    }

});

编辑

您可以查看此answer,它实际上提供了一个自定义ScrollView,它将拦截滚动触摸并在执行手势侦听器时将其禁用。