欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

30_Flutter之IndexedStack组件

程序员文章站 2022-05-30 18:44:49
...

Flutter之IndexedStack组件

一.参数说明

IndexedStack({
    Key key,
    AlignmentGeometry alignment = AlignmentDirectional.topStart,
    TextDirection textDirection,
    StackFit sizing = StackFit.loose,
    this.index = 0,
    List<Widget> children = const <Widget>[],
  })

1.IndexedStack和Stack一样,都可以在一个组件上面放置另一个组件,唯一不同的是IndexedStack只能同时显示子组件中的一个组件,并通过Index属性来设置要显示的控件

2.alignment: 设置子组件在Stack中的对齐方式

3.index: 要显示的子组件的下标,对应children的List的下标

4.textDirection:设置子组件在Stack中从左往右排列,还是从右往左排列

  • alignment = AlignmentDirectional.topStart
    textDirection = TextDirection.rtl
    index = 0
    

时,如图:
30_Flutter之IndexedStack组件

  • alignment = AlignmentDirectional.topStart
    textDirection = TextDirection.rtl
    index = 1
    

时,如图:
30_Flutter之IndexedStack组件

5.sizing:调整IndexedStack组件中的没有使用Position包裹的子组件的宽高

  • loose: 子组件的宽高从Stack约束的最小值到最大值之间取值
  • expand: 子组件的宽高取Stack约束的最大值
  • passthrough:从父组件传递到Stack组件的约束将不加修改地传递给Stack组件中没有被Position组件包裹的子组件