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

问题描述 投票:0回答:1

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

android kotlin scrollview gesture
1个回答
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,它将拦截滚动触摸并在你执行手势监听时禁用它。

© www.soinside.com 2019 - 2024. All rights reserved.