在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
,然后通过在触摸侦听器上返回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,它将拦截滚动触摸并在你执行手势监听时禁用它。