这个蓝色波浪有时候确实没必要,我目前觉得他唯一存在于长列表整屏幕时挺好看的,但是各种小的模块(比如: 一般用listview做的导航列表或者gridview做的宫格布局的图表导航)就没啥必要了,要命的是长列表下嵌套这种小的listview组件时,不仅有局部丑陋的蓝色的波纹,还有严重的体验问题,手指划到局部listview时会触发局部listview的滚动,与外层大的滚动组件冲突,所以有时候用wrap这种流布局可能会更好。
###那么,非要用listview,毕竟listview构建这种列表数据时特别方便,怎么办?
- 导入io包和基础的material的包
1
2import 'dart:io';
import 'package:flutter/services.dart'; - 用ScrollConfiguration包裹滑动子布局:
1
2
3
4
5ScrollConfiguration(
behavior: MyBehavior(), //自定义behavior
child: ListView() //你的滚动布局组件
); - 自定义behavior:
1
2
3
4
5
6
7
8
9
10class MyBehavior extends ScrollBehavior{
@override
Widget buildViewportChrome(BuildContext context, Widget child, AxisDirection axisDirection) {
if(Platform.isAndroid||Platform.isFuchsia){
return child;
}else{
return super.buildViewportChrome(context,child,axisDirection);
}
}
}亲测好用,方法借鉴于:[这里](https://www.jianshu.com/p/b9e92c37f4ec)
我很可爱,请给我钱
若没有本文 Issue,您可以使用 Comment 模版新建。
GitHub IssuesGitHub Discussions