不止ListView,GridView、PageView等组件同样适用。
Flutter 3.10.1 方法
在ListView外包裹一个ScrollConfiguration
,设置behavior
参数,child
就是ListView:
1 2 3 4
| ScrollConfiguration( behavior: ScrollConfiguration.of(context).copyWith(overscroll: false), child: ListView(), )
|
Flutter 3.3.3 方法
在早些时候的3.3.3版本我是用下面这个方法的,发现换到3.10.1后失效了。依然会有过度滑动的波纹效果,但变成了白色。
自定义一个类,继承ScrollBehavior,如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| import 'package:flutter/material.dart';
class OverScrollBehavior extends ScrollBehavior { @override Widget buildViewportChrome( BuildContext context, Widget child, AxisDirection axisDirection) { switch (getPlatform(context)) { case TargetPlatform.iOS: return child; case TargetPlatform.android: case TargetPlatform.fuchsia: default: return GlowingOverscrollIndicator( showLeading: false, showTrailing: false,
axisDirection: axisDirection, color: Theme.of(context).colorScheme.secondary, child: child, ); } } }
|
使用时在ListView外包裹一个ScrollConfiguration
,behavior
参数里实例化一个OverScrollBehavior
即可:
1 2 3 4
| ScrollConfiguration( behavior: OverScrollBehavior(), child: ListView(), )
|
参观我的个人网站:http://saoke.fun