【发布时间】:2019-07-16 02:52:46
【问题描述】:
如果我有两个(或更多)可滚动小部件(例如,SingleChildScrollView),
如何让它们同时滚动?
因为我将Stacking 他们在彼此之上,
所以一个被另一个的Container覆盖。
我还很新,所以我现在没有太多选择。
我试过ScrollController,但它不起作用。
我不知道如何在我的代码中正确实现它。
如果可能,请附上一个简单的代码示例。
这是我尝试过的:
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'),
],)
),
])
)
}
}
如果我滚动其中一个,我希望两者一起滚动。
但即使它们具有相同的controller,它们仍然会独立滚动。
我不确定我是否正确使用controller。
请指教。
【问题讨论】:
-
发布您的代码,以便人们可以帮助您
-
@farhana 嘿,我添加了一些代码。这有帮助吗?
-
嘿,你为什么要使用
stack,你应该使用Row小部件来让你的列保持左或右可刮擦 -
@farhana 但随后我将滚动整个
Row。如果滚动条位于不同的Row或Column中,作为它们的children之一怎么办? -
据我了解,您的左右两列都是可滚动的。
标签: scroll controller flutter stack widget