默认情况下,flutter 在 ListView
/GridView
/... 上添加发光效果以在安卓手机上滚动
我想完全或在一个特定的可滚动项上删除此效果。
我知道我可以更改 ScrollPhysics
以在 Bounce/Clamp 之间进行更改。但这实际上并没有消除发光效果。
我能做什么?
最佳答案
发光效果来自GlowingOverscrollIndicator
添加者 ScrollBehavior
要移除这个效果,你需要指定一个自定义的ScrollBehavior
。为此,只需将应用程序的任何给定部分包装到 ScrollConfiguration
中即可。使用所需的 ScrollBehavior
。
以下 ScrollBehavior
将完全移除发光效果:
class MyBehavior extends ScrollBehavior {
@override
Widget buildOverscrollIndicator(
BuildContext context, Widget child, ScrollableDetails details) {
return child;
}
}
要移除整个应用程序的发光,您可以在 MaterialApp
下添加它:
MaterialApp(
builder: (context, child) {
return ScrollConfiguration(
behavior: MyBehavior(),
child: child,
);
},
home: new MyHomePage(),
);
要在特定的 ListView
上删除它,而是只包装所需的 ListView
:
ScrollConfiguration(
behavior: MyBehavior(),
child: ListView(
...
),
)
如果你想改变效果,这也是有效的。就像在到达 ScrollView 的边界时添加淡入淡出一样。
https://stackoverflow.com/questions/51119795/