美文网首页
ListView滑动到底部 2023-08-09 周三

ListView滑动到底部 2023-08-09 周三

作者: 勇往直前888 | 来源:发表于2023-08-08 18:06 被阅读0次

简介

表格移动到顶部或者移动到底部,是常见的一种需求。

移动到顶部

  • ListView有一个属性ScrollController,专门用来处理滑动等相关的事宜。有关滑动的方法有两个。
  Future<void> animateTo(
    double offset, {
    required Duration duration,
    required Curve curve,
  })
void jumpTo(double value) 

区别就是一个带动画,一个不带动画

  • 大多数时候,一般用带动画的那个。不过,只要有可能,应该用不带动画的那个,效率高。

  • 移动到顶部很简单,上面两个方法,给参数0就可以了。

怎么移动到底部?

  • 一开始,会给一个比较大的值,比如1000,2000之类;很多时候效果跟移动到底部差不多,不过当内容长度超过这个数值的时候就悲剧了,并没有真正到底;

  • 后来,直接给参数double.infinity;执行的效果是直接崩溃。Flutter崩溃的时候还真不多(内存超过2G会闪退),大多数时候是白屏,但是这个时候是直接闪退。

  • ScrollPositionScrollController中记忆滑动位置的辅助类。其中有两个属性表示最小和最大的可滑动位置。

  @override
  double get minScrollExtent => _minScrollExtent!;
  double? _minScrollExtent;

  @override
  double get maxScrollExtent => _maxScrollExtent!;
  double? _maxScrollExtent;
  • 所以,滑动到底部可以这样写:
/// 滑动到底部
listController.jumpTo(listController.position.maxScrollExtent);
  • 响应地,滑动到顶部也可以不用给参数0了,可以依样画葫芦
/// 滑动到顶部
listController.jumpTo(listController.position.minScrollExtent);

参考文章

Flutter基础之ListView

相关文章

网友评论

      本文标题:ListView滑动到底部 2023-08-09 周三

      本文链接:https://www.haomeiwen.com/subject/vxznpdtx.html