作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在做一个 Flutter 项目,我正在尝试使用 OverflowBox
小部件。
我在 Column
中有一个小部件列表,其中一个位于中间,应该根据用户的某些事件溢出其他小部件。
这是我的代码的简化版本。
红色Container
需要在顶部和底部显示溢出它的绿色Container
。但是正如您在图像上看到的那样,绿色的 Container
仅在前一个 Container
(蓝色的)上方可见,而在下一个(黑色的 容器
)。好像在后面。
class MyScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Column(
mainAxisSize: MainAxisSize.min,
children: [
Container(
height: 100,
width: 100,
color: Colors.blue,
),
Container(
height: 100,
width: 100,
color: Colors.red,
child: Center(
child: OverflowBox(
maxHeight: 150,
child: Container(
color: Colors.green,
height: 150,
width: 50,
),
),
),
),
Container(
height: 100,
width: 100,
color: Colors.black,
)
],
);
}
}
如何让我的绿色 Container
也位于黑色之上?
编辑:出于功能目的,我需要绿色 Container
成为子项/由红色 Container
创建(而不是我可以使用的列表堆栈
小部件)。我需要逻辑在红色和绿色的内部。
最佳答案
它仍然使用 Stack,但是 Green Container 仍然是 Red Container 的一部分。
如果 Container 具有动态高度,则可能难以计算边距。
class MyScreen extends StatelessWidget {
const MyScreen({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
body: Stack(
children: [
Container(
height: 100,
width: 100,
color: Colors.blue,
),
Container(
margin: const EdgeInsets.only(top: 200),
height: 100,
width: 100,
color: Colors.black,
),
Container(
margin: const EdgeInsets.only(top: 100),
height: 100,
width: 100,
color: Colors.red,
child: Center(
child: OverflowBox(
maxHeight: 150,
child: Container(
height: 150,
width: 50,
color: Colors.green,
),
),
),
),
],
),
);
}
}
关于Flutter OverflowBox 在下一列的 widget 后面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66095859/
我需要建一个bottomNavigationBar,带有一个垂直溢出的TabBar item,所以我尝试使用 OverflowBox,它看起来很有用。但是还有一个问题,溢出的部分无法响应按钮。 那么我
我正在做一个 Flutter 项目,我正在尝试使用 OverflowBox小部件。 我在 Column 中有一个小部件列表,其中一个位于中间,应该根据用户的某些事件溢出其他小部件。 这是我的代码的简化
我是一名优秀的程序员,十分优秀!