gpt4 book ai didi

同步滚动多个可滚动小部件

转载 作者:IT老高 更新时间:2023-10-28 12:38:23 26 4
gpt4 key购买 nike

简单地说:

有没有办法让多个可滚动的小部件(例如,SingleSchildScrollView)同步在一起?


我只想要 2 个可滚动的,当我滚动一个时可以滚动另一个。

这样我可以使用 Stack 将它们叠放在一起,后面的可以跟随前面的滚动。

或者可能将它们放在另一组 ColumnRow 中,以便它们分开,但仍然可以通过滚动其中一个来滚动。

我尝试使用 controller 但它似乎并没有按照我的想法做。


试试下面的代码,例如,“RIGHT”将在“LEFT”前面,如果我尝试滚动它们,只有 RIGHT 会移动。那么如何将它们同时移动到一起呢??

请不要告诉我将堆栈放在 ListView 中,这不是我需要的。

class _MyHomePageState extends State<MyHomePage> {

final ScrollController _mycontroller = new ScrollController();

@override
Widget build(BuildContext context) {
body:
Container(
height: 100,
child:
Stack( children: <Widget>[
SingleChildScrollView(
controller: _mycontroller,
child: Column( children: <Widget>[
Text('LEFT '),
Text('LEFT '),
Text('LEFT '),
Text('LEFT '),
Text('LEFT '),
Text('LEFT '),
],)
),
SingleChildScrollView(
controller: _mycontroller,
child: Column(children: <Widget>[
Text(' RIGHT'),
Text(' RIGHT'),
Text(' RIGHT'),
Text(' RIGHT'),
Text(' RIGHT'),
Text(' RIGHT'),
],)
),
])
)
}}

我相信之前已经在多个论坛中提出过这个问题,但根本没有人对此给出结论或解决方案。 (见 here)

最佳答案

我刚遇到同样的问题,现在有一个官方包:linked_scroll_controller .

使用那个包,你只需要创建一个master LinkedScrollControllerGroup跟踪滚动偏移,然后它将通过 LinkedScrollControllerGroup.addAndGet() 为您提供单独的 ScrollController(保持同步) .

关于同步滚动多个可滚动小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54859779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com