我们创建Flutter项目的时候,Flutter会自动给ListView、GridView等一些其他的滑动的小部件,添加了一个glowing效果。
那么我们怎么去除这个效果呢?
这个glow是从GlowingOverscrollIndicator添加的ScrollBehavior。
为了去除这个效果,需要自定义一个ScrollBehhavior。
import 'package:flutter/cupertino.dart';
class NoScrollFlowBehavior extends ScrollBehavior {
@override
Widget buildOverscrollIndicator(BuildContext context, Widget child, ScrollableDetails details) {
return child;
}
}
如果去除整个项目的glow,在MaterialApp下面builder里面添加
MaterialApp(
builder: (context. child) => ScrollConfiguration(behavior: NoScrollFlowBehavior(), child: child!),
home: MyHomePage()
);
如果只去除某个ListView的glow
ScrollConfiguration(
behavior: NoScrollFlowBehavior(),
child: ListView(
...
)
)
你也可以包裹SingleChildScrollView或者ListView
NotificationListener<OverscrollIndicatorNotification>(
onNotification: (OverscrollIndicatorNotification overscroll) {
overscroll.disallowGlow();
return;
},
child: SingleChildScrollView();
)
另外,如果想要弹动效果的话,直接将ListView里面physics属性设置为BouncingScrollPhysics即可
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容