0

I tried to implement android.gesture.GestureOverlayView in ScrollView. In my activity.xml

<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/scrollViewreceipt" > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <include android:id="@+id/include1" android:layout_width="fill_parent" android:layout_height="wrap_content" layout="@layout/toolbar" /> <Spinner android:id="@+id/custom_spinner" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:theme="@android:style/Theme.Holo.Light.DarkActionBar"/> <ListView android:id="@+id/customList" android:layout_width="match_parent" android:layout_height="300dp" android:layout_marginTop="15dp" /> <android.gesture.GestureOverlayView android:id="@+id/signaturePad" android:layout_width="match_parent" android:layout_height="80dp" android:layout_weight="5" android:background="#d3d3d3" android:eventsInterceptionEnabled="true" android:fadeEnabled="false" android:gestureColor="#333" android:gestureStrokeLengthThreshold="0.1" android:gestureStrokeType="multiple" android:fadeOffset="5000" android:orientation="vertical" > </android.gesture.GestureOverlayView> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="testImage" android:text="test"/> </LinearLayout> 

But when i try to draw on my android.gesture.GestureOverlayView the view scroll and so it's inusable, and so i ask if how can i block a scroll when touch on android.gesture.GestureOverlayView.

1 Answer 1

1

I solved in this way:

I extended a ScrollView with CustomScrollView

public class CustomScrollView extends ScrollView { private boolean enableScrolling = true; public boolean isEnableScrolling() { return enableScrolling; } public void setEnableScrolling(boolean enableScrolling) { this.enableScrolling = enableScrolling; } public CustomScrollView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } public CustomScrollView(Context context, AttributeSet attrs) { super(context, attrs); } public CustomScrollView(Context context) { super(context); } @Override public boolean onInterceptTouchEvent(MotionEvent ev) { if (isEnableScrolling()) { return super.onInterceptTouchEvent(ev); } else { return false; } } @Override public boolean onTouchEvent(MotionEvent ev) { if (isEnableScrolling()) { return super.onTouchEvent(ev); } else { return false; } } } 

In my XML I have change ScrollView with my new extended class with id

<com.itmind.spac.spacapp.custom_extends.CustomScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/scrollViewreceipt" >......</com.itmind.spac.spacapp.custom_extends.CustomScrollView> 

And in my ActivityClass

public class CustomActivity implements GestureOverlayView.OnGestureListener { CustomScrollView myScrollView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState, R.layout.activity_receipts); GestureOverlayView signaturePad = (GestureOverlayView) findViewById(R.id.signaturePad); myScrollView = (CustomScrollView) findViewById(R.id.scrollViewreceipt); assert myScrollView != null; assert signaturePad != null; signaturePad.addOnGestureListener(this); } @Override public void onGestureStarted(GestureOverlayView overlay, MotionEvent event) { myScrollView.setEnableScrolling(false); } @Override public void onGesture(GestureOverlayView overlay, MotionEvent event) { } @Override public void onGestureEnded(GestureOverlayView overlay, MotionEvent event) { myScrollView.setEnableScrolling(true); } @Override public void onGestureCancelled(GestureOverlayView overlay, MotionEvent event) { } 
Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.