我有一个有两列的容器。当您单击OPTIONS
按钮时,屏幕将向左移动一半的宽度,并显示其他(可单击!)选项。
我目前正在使用包含两个容器的Row
进行此操作,其中第二个容器位于Stack
中,该容器将带有选项的右移容器覆盖。遵循这些原则:
Row(
children: <Widget>[
Expanded(
child: Container(
color: Colors.blue,
),
),
Expanded(
child: Container(
child: Stack(
children: <Widget>[
Container(
color: Colors.orange
),
Transform.translate(
offset: const Offset(170.0, 0.0),
child: Container(
color: Colors.green,
child: Column(
children: const <Widget>[
FlatButton(child: Text("Option 1")),
FlatButton(child: Text("Option 2")),
FlatButton(child: Text("Option 3")),
],
),
),
),
],
),
),
)
],
);
现在,由于绿色容器位于其父堆栈的外部,因此选项按钮将不会获得任何手势事件,因此不起作用。还有一个类似的问题here,甚至还有a GitHub issue。两者都不提供解决方案。
有没有办法使堆栈外的手势起作用,如果没有,我在该用例中有哪些选择?在某种程度上,我想要实现的功能类似于选项卡视图,但同时显示两个选项卡视图。