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,
                  ),
                );
              },
            ),
          ),
        );
      }
    }
    
  • 相关阅读:
    [HAOI2015]按位或——Min-Max容斥+FWT
    HDU 4773 Problem of Apollonius——圆反演
    类欧几里得小结
    线性规划(单纯形法)知识整理
    奇怪的数学题(51nod1847)——min_25筛+杜教筛+第二类斯特林数
    CSP-S 2019 游记
    2019.11.11~2019.11.12考试总结
    2019.11.6~2019.11.7考试总结
    1019.11.1~2019.11.2考试总结
    Final-阶段站立会议4
  • 原文地址:https://www.cnblogs.com/ajanuw/p/11378960.html
Copyright © 2011-2022 走看看