Сделать макет не прокручиваемым при прикосновении к GestureOverlayView - PullRequest
0 голосов
/ 22 апреля 2019

В 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 голосов
/ 22 апреля 2019

Вы должны использовать 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;
          }
        });
    }

});

РЕДАКТИРОВАТЬ

Вы можете взглянуть на этот ответ , на самом деле он представляет собой собственный ScrollView, который будет перехватывать касание прокрутки и отключать его при выполнении прослушивателя жестов.

...