美文网首页
滑动监听

滑动监听

作者: Jean_Lina | 来源:发表于2021-09-03 11:06 被阅读0次
import 'dart:math';

import 'package:flutter/material.dart';

main() => runApp(DBJApp());

class DBJApp extends StatelessWidget {
  const DBJApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: 'hello world',
      home: DBJHomeBody(),
    );
  }
}

class DBJHomeBody extends StatefulWidget {
  const DBJHomeBody({Key? key}) : super(key: key);

  @override
  _DBJHomeBodyState createState() => _DBJHomeBodyState();
}

class _DBJHomeBodyState extends State<DBJHomeBody> {
  ScrollController _controller = ScrollController(initialScrollOffset: 0);
  bool _isShowFloatingBtn = false;
  @override
  void initState() {
    super.initState();
    _controller.addListener(() {
      print('监测到滚动 ${_controller.offset}');
      setState(() {
        _isShowFloatingBtn = _controller.offset >= 1000;
      });
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('列表滚动监听'),
      ),
      body: ListView.builder(
        itemBuilder: (context, index) {
          return ListTile(
            leading: Icon(
              Icons.people,
              color: Colors.green,
            ),
            title: Text('hello world $index'),
            trailing: Icon(
              Icons.keyboard_arrow_right_rounded,
              color: Colors.orange,
            ),
          );
        },
        controller: _controller,
        itemCount: 140,
      ),
      floatingActionButton: _isShowFloatingBtn
          ? FloatingActionButton(
              child: Icon(Icons.arrow_upward),
              onPressed: () {
                _controller.animateTo(0, duration: Duration(seconds: 1), curve: Curves.easeIn);
                print('FloatingActionButton');
              })
          : null,
      // floatingActionButton: FloatingActionButton(),
    );
  }
}

Simulator Screen Shot - iPhone 12 - 2021-09-02 at 17.19.13.png

相关文章

网友评论

      本文标题:滑动监听

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