【问题标题】:Flutter:OnTap not working when Listview is scrollingFlutter:Listview滚动时OnTap不起作用
【发布时间】:2020-05-23 19:39:41
【问题描述】:

我试图创建一个选框小部件,我使用 Listview 实现自动滚动,但是如果我在 listview 滚动时向文本添加了一个点击事件,它就无法点击。我知道这应该是一个滚动问题,但我不知道怎么解决这里的代码是Marquee小部件。

  import 'dart:async';
    import 'package:flutter/material.dart';
    import 'package:flutter/widgets.dart';

    class MarqueeContinuous extends StatefulWidget {
      final Widget child;
      final Duration duration;
      final double stepOffset;

      MarqueeContinuous(
          {Key key,
          this.child,
          this.duration = const Duration(seconds: 3),
          this.stepOffset = 50.0})
          : super(key: key);

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

    class _MarqueeContinuousState extends State<MarqueeContinuous> {
      ScrollController _controller;
      Timer _timer;
      double _offset = 0.0;

      @override
      void initState() {
        super.initState();
        _controller = ScrollController(initialScrollOffset: _offset);
        _timer = Timer.periodic(widget.duration, (timer) {
          double newOffset = _controller.offset + widget.stepOffset;

          if (newOffset != _offset) {
            _offset = newOffset;
            _controller.animateTo(_offset,
                duration: widget.duration, curve: Curves.linear);
          }
        });
      }

      @override
      void dispose() {
        _timer.cancel();
        _controller.dispose();
        super.dispose();
      }

      @override
      Widget build(BuildContext context) {
        return ListView.builder(
                    physics: NeverScrollableScrollPhysics(),
                    scrollDirection: Axis.horizontal,
                    controller: _controller,
                    addAutomaticKeepAlives: false,
                    itemBuilder: (context, index) {
                      return widget.child;
                    });
      }
    }

【问题讨论】:

    标签: flutter marquee


    【解决方案1】:

    删除shrinkWrapNeverScrollableScrollPhysicsListView 或任何Scrollable 小部件,您想将其添加到其中。

    【讨论】:

      猜你喜欢
      • 2020-02-11
      • 2020-09-24
      • 2018-11-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-09
      • 1970-01-01
      • 2021-11-23
      • 1970-01-01
      相关资源
      最近更新 更多