- 基本属性
const RefreshIndicator({
Key key,
@required this.child,
this.displacement = 40.0,
@required this.onRefresh,
this.color,
this.backgroundColor,
this.notificationPredicate = defaultScrollNotificationPredicate,
this.semanticsLabel,
this.semanticsValue,
})
- 基础Widget
ScrollController _scrollController = ScrollController();
bool has_more = false;
@override
Widget build(BuildContext context) {
return RefreshIndicator(
backgroundColor: MyColor.t_E4E6EC,
displacement: 0.h,
color: MyColor.lineStartBtnColor,
onRefresh: _onRefresh,
child: SingleChildScrollView(
scrollDirection: Axis.vertical,
controller: _scrollController,
child: Container(
padding: EdgeInsets.symmetric(horizontal: 14.h),
width: 258.h,
child: Column(
children: List.generate(taskList.length, (index) {
return taskItem(taskList[index]);
}),
)),
));
}
- 下拉刷新
Future<void> _onRefresh() async {
await Future.delayed(Duration(seconds: 0), () {
});
}
- 上拉加载更多
void initState() {
super.initState();
_scrollController..addListener(() {
if (_scrollController.position.pixels >
_scrollController.position.maxScrollExtent - 20) {
if (has_more) {
}
}})}