我找到了这个答案 (https://stackoverflow.com/a/51119796/5869913) 并添加了有关删除过度滚动效果的信息。
超滚动效果来自BouncingScrollPhysics添加ScrollBehavior
要移除此效果,您需要指定自定义ScrollBehavior 并覆盖getScrollPhysics 方法。为此,只需将应用程序的任何给定部分包装到带有所需 ScrollBehavior 的 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(
...
),
)
或者只是在 ListView 中设置物理:ClampingScrollPhysics()