flutter 下拉刷新,上拉加载

  1. 基本属性
  const RefreshIndicator({
    Key key,
    @required this.child,
    this.displacement = 40.0,//指示器显示时距顶部位置
    @required this.onRefresh,//下拉刷新回调
    this.color,//指示器颜色,默认ThemeData.accentColor
    this.backgroundColor,//指示器背景颜色,默认ThemeData.canvasColor
    this.notificationPredicate = defaultScrollNotificationPredicate,
    this.semanticsLabel,
    this.semanticsValue,
  })

  1. 基础Widget
  ScrollController _scrollController = ScrollController(); //定义滚动Controller
  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]);
                }),
              )),
        ));
  }
  1. 下拉刷新
// 刷新
  Future<void> _onRefresh() async {
    await Future.delayed(Duration(seconds: 0), () {
		//TODO 执行刷新逻辑
 	});
  }
  1. 上拉加载更多
  void initState() {
    super.initState();
 _scrollController..addListener(() {
        //向上滚动
        if (_scrollController.position.pixels >
            _scrollController.position.maxScrollExtent - 20) {
			 if (has_more) { //是否还有下一页
			  //TODO
		       //监听滚动,执行加载下一页数据
			}
		}})}
		
		
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卜卦丶cc

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值