IndexedStack 组件
时间: 2023-07-28 13:20:54 浏览: 88
IndexedStack是一个组件,它可以显示多个子widget,但只显示其中一个widget,其余widget则被隐藏。IndexedStack的显示的子widget是由index属性控制的,即显示第index个子widget。IndexedStack通常用于底部导航栏或者选项卡等场景。
IndexedStack的构造函数如下:
```
IndexedStack({
Key? key,
this.alignment = AlignmentDirectional.topStart,
this.textDirection,
this.sizing = StackFit.loose,
this.index = 0,
required this.children,
})
```
其中,alignment参数用于控制子widget的对齐方式;textDirection参数用于控制子widget的文本方向;sizing参数用于控制子widget的大小;index参数用于控制显示第几个子widget;children参数则是一个子widget列表,表示所有子widget。
例如,以下代码创建了一个包含三个子widget的IndexedStack,其中第一个子widget是一个红色的容器,第二个子widget是一个绿色的容器,第三个子widget是一个蓝色的容器,而当前显示的子widget是第二个子widget:
```
IndexedStack(
index: 1,
children: [
Container(
width: 200,
height: 200,
color: Colors.red,
),
Container(
width: 200,
height: 200,
color: Colors.green,
),
Container(
width: 200,
height: 200,
color: Colors.blue,
),
],
)
```
在这个示例中,我们通过设置index参数为1,让IndexedStack显示第二个子widget,也就是绿色容器。由于其他子widget都被隐藏了,因此只有绿色容器显示在屏幕上。
阅读全文