• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Flutter:ListView翻转,自动滑动到底部

武飞扬头像
前端菜鸟好先森
帮助2

场景:最近做的客服系统,进入页面直达最底部,发送消息或者接收到他人消息后,消息列表都会自动滑动到底部,不需要我们手动滑动,这样的用户体验好

实现:

ListView布局,然后reverse反转

  1.  
    ListView.builder(
  2.  
    reverse: true, //翻转
  3.  
    shrinkWrap: true,
  4.  
    physics:PageScrollPhysics(parent: ClampingScrollPhysics()),
  5.  
    controller: _scrollController,
  6.  
    itemCount: messageList.length,
  7.  
    itemBuilder: (context, index) {
  8.  
    Column(
  9.  
    children: []
  10.  
  11.  
    }

因为listview翻转了,所以储存聊天信息的数组也要翻转

  1.  
    //数组翻转
  2.  
    list.reversed

滑到底部:

ListView使用ScrollController来控制滑动,其中有jumpToanimateTo2个方法滑动到指定的位置

因为我们对listView进行了翻转,所以顶部就是底部

  1.  
    ScrollController _scrollController = ScrollController();
  2.  
    // 自动滑到底部
  3.  
    autoSlide() {
  4.  
    // 滑动到顶部
  5.  
    // Future.delayed(Duration(milliseconds: 500), () {
  6.  
    // {_scrollController.position.minScrollExtent 滑到顶部
  7.  
    // // _scrollController.position.maxScrollExtent 滑到底部
  8.  
    // _scrollController.jumpTo(_scrollController.position.minScrollExtent);
  9.  
    // });
  10.  
    // 返回到顶部时执行动画
  11.  
    _scrollController.animateTo(.0,
  12.  
    duration: Duration(milliseconds: 200), curve: Curves.ease);
  13.  
    }

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhfkkjfh
系列文章
更多 icon
同类精品
更多 icon
继续加载