zoukankan      html  css  js  c++  java
  • flutter 置顶 ListView

    本文有参考,链接找不到了

    1.定义controller

    final ScrollController _scrollController = new ScrollController();

    2.在初始化中监听滚动

      @override
      void initState() {
        super.initState();
        
    
    
        _scrollController.addListener(() {
          print(_scrollController.offset); //打印滚动位置
          print("打印滚动位置"); //打印滚动位置
          if (_scrollController.offset < 100 && showToTopBtn) {
            setState(() {
              showToTopBtn = false;
            });
          } else if (_scrollController.offset >= 100 && showToTopBtn == false) {
            setState(() {
              showToTopBtn = true;
            });
          }
        });
        
      }

    3.注销/卸载滚动

      @override
      dispose(){
        super.dispose();
        _scrollController.dispose(); // 卸载
       
      }

    4.在 ListView里面带上controller

    child: ListView(
            controller: _scrollController,

    5.定义

    bool showToTopBtn = false; //是否显示“返回到顶部”按钮

    6.置顶的按钮

       floatingActionButton: !showToTopBtn
                ? null
                : FloatingActionButton(
                child: Icon(Icons.arrow_upward),
                onPressed: () {
                  //返回到顶部时执行动画
                  _scrollController.animateTo(.0, duration: Duration(milliseconds: 200), curve: Curves.ease);
                }),
  • 相关阅读:
    MSSQL Join的使用
    MSSQL2008 常用sql语句
    Process使用
    c# 多线程 调用带参数函数
    C# 多线程参数传递
    C# 单例模式代码
    C#调用存储过程
    页面布局
    构建:vue项目配置后端接口服务信息
    浏览器工作原理(二):浏览器渲染过程概述
  • 原文地址:https://www.cnblogs.com/lude1994/p/14134689.html
Copyright © 2011-2022 走看看