flutter 我想让用户能够暂时暂停视图的滚动

ttcibm8c  于 2023-01-21  发布在  Flutter
关注(0)|答案(1)|浏览(132)

我的flutter SingleChildScrollingView小部件公开了实时日志,并且可能会变得相当长。
我想为用户提供一种方法来暂时冻结滚动,以便他可以检查日志。然后他将切换回滚动时完成。
如何做到这一点?

return SingleChildScrollView(
  physics: BouncingScrollPhysics(),
  padding: EdgeInsets.all(contentPadding),
  child: Column(children: [
    // blah blah
  ]
);
ckocjqey

ckocjqey1#

试用此演示。

定义管理滚动的变量

bool isScrolling = true;

滚动视图

SingleChildScrollView(
        physics: isScrolling ? const BouncingScrollPhysics() : const NeverScrollableScrollPhysics(),
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const Text(
              'You have pushed the button this many times:',
            ),
            FloatingActionButton(
              onPressed: () {
                setState(() {
                  isScrolling = !isScrolling;
                });
              },
              tooltip: "Scroll Start And Stop",
              child: Icon(isScrolling ? Icons.play_arrow : Icons.pause),
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headline4,
            ),
          ],
        ),
      ),

你可以在你想滚动的地方设置为真,也可以在暂停屏幕上设置为假。
我希望这些东西能解决你的问题。

相关问题