zoukankan      html  css  js  c++  java
  • Flutter NotificationListener 监听列表的滚动

    import 'package:flutter/material.dart';
    import 'package:flutter_imagenetwork/flutter_imagenetwork.dart';
    
    void main() => runApp(MyApp());
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          home: HomePage(),
        );
      }
    }
    
    class HomePage extends StatefulWidget {
      @override
      _HomePageState createState() => _HomePageState();
    }
    
    class _HomePageState extends State<HomePage> {
      List<String> images =
          List.generate(3, (i) => 'https://picsum.photos/id/$i/800/800');
    
      ScrollController _scrollController = ScrollController();
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          body: NotificationListener(
            onNotification: (Notification notification) {
              if (notification is ScrollStartNotification) {
                print('滚动开始');
              }
              if(notification is ScrollUpdateNotification){
                print('滚动中');
              }
              if (notification is ScrollEndNotification) {
                print('停止滚动');
                if (_scrollController.position.extentAfter == 0) {
                  print('滚动到底部');
                }
                if (_scrollController.position.extentBefore == 0) {
                  print('滚动到头部');
                }
              }
            },
            child: ListView.builder(
              controller: _scrollController,
              itemCount: images.length,
              itemBuilder: (context, index) {
                return Padding(
                  padding: const EdgeInsets.all(8.0),
                  child: AjanuwImage(
                    image: AjanuwNetworkImage(images[index]),
                    loadingBuilder: AjanuwImage.defaultLoadingBuilder,
                    errorBuilder: AjanuwImage.defaultErrorBuilder,
                    gaplessPlayback: true,
                  ),
                );
              },
            ),
          ),
        );
      }
    }
    
  • 相关阅读:
    ajax中文乱码问题的总结
    JQuery中$.ajax()方法参数详解
    Jquery的parent和parents(找到某一特定的祖先元素)
    div节点的操作(添加,删除,替换,克隆)
    js 刷新页面
    ADO.NET 体系结构
    数据访问技术介绍
    WebForm页面数据绑定总结
    sql 智能提示
    用TTTAttributedLabel创建变化丰富的UILabel
  • 原文地址:https://www.cnblogs.com/ajanuw/p/11378960.html
Copyright © 2011-2022 走看看