Nativescript:如何以编程方式禁用/启用ScrollView滚动?

ter*_*reb 2 android ios nativescript

有没有办法在NativeScript中以编程方式禁用/启用ScrollView滚动?

ter*_*reb 10

好的,我发现了如何做到这一点.这在iOS上实际上非常简单:

var scrollView = page.getViewById('YOUR_VIEW_ID')
scrollView.ios.scrollEnabled = false // to disable
scrollView.ios.scrollEnabled = true  // to enable back
Run Code Online (Sandbox Code Playgroud)

安卓:

另外,对于我的特殊情况,我需要禁用滚动视图的滚动,但拖放子视图.在子视图开始拖动(平移)事件时,我们通过以下方式阻止在我们的滚动视图中触摸事件拦截:

scrollView._nativeView.requestDisallowInterceptTouchEvent(true)
Run Code Online (Sandbox Code Playgroud)

并在停止拖动(平移)子视图事件时再次启用它们:

scrollView._nativeView.requestDisallowInterceptTouchEvent(false)
Run Code Online (Sandbox Code Playgroud)

如果你有另一种情况,只想禁用滚动视图滚动,你可以使用这样的东西(对于Android):

scrollView._nativeView.setOnTouchListener(new android.view.View.OnTouchListener({
   onTouch: function (view, motionEvent) {
       console.log("DISABLED. onTouch event: Got    motionEvent.getAction() " + motionEvent.getAction() + ".");
       return true;
    }
}))
Run Code Online (Sandbox Code Playgroud)

  • `requestDisallowInterceptTouchEvent(true)`似乎对我不起作用,是否已在最新版本的NativeScript上测试过? (2认同)