默认情况下,抖动会在ios overscroll上添加效果ListView/GridView/...
overscroll
ListView/GridView/...
我想完全删除此效果或在一个特定的滚动条上删除此效果。
我能做什么 ?
我找到了这个答案(https://stackoverflow.com/a/51119796/5869913),只是添加了有关删除过度滚动效果的信息。
在反弹时的效果来自于BouncingScrollPhysics通过添加ScrollBehavior
BouncingScrollPhysics
ScrollBehavior
要消除这种影响,您需要指定一个自定义ScrollBehavior和替代getScrollPhysics方法。为此,只需将应用程序的任何给定部分包装到ScrollConfiguration具有所需的ScrollBehavior。
getScrollPhysics
ScrollConfiguration
以下ScrollBehavior将完全消除过度滚动效果:
class MyBehavior extends ScrollBehavior { @override ScrollPhysics getScrollPhysics(BuildContext context) => ClampingScrollPhysics(); }
您还可以使用方法buildViewportChrome的覆盖来移除发光效果,如下所示:
@override Widget buildViewportChrome(BuildContext context, Widget child, AxisDirection axisDirection) => child;
要消除整个应用程序的过度滚动,可以在MaterialApp下添加它:
MaterialApp( builder: (context, child) { return ScrollConfiguration( behavior: MyBehavior(), child: child, ); }, home: MyHomePage(), );
要在特定的ListView上将其删除,请仅包装所需的ListView:
ScrollConfiguration( behavior: MyBehavior(), child: ListView( ... ), )
或只是设置物理:ClampingScrollPhysics()在ListView中
ClampingScrollPhysics()