触摸 GestureOverlayView 时使布局不可滚动

Make layout unscrollable when GestureOverlayView is touched

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 时使布局不可滚动?我无法绘制任何东西,因为布局在移动!

你应该在你的手势视图上使用 OnGesturePerformedListener 并且你可以通过在触摸监听器上返回 true 来禁用你的 scrollView 滚动

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;
          }
        });
    }

});

编辑

你可以看看这个,它实际上提供了一个自定义的 ScrollView,当你执行手势侦听器时,它将拦截滚动触摸并禁用它。