Flutter中使用Stack和Positioned这两个组件来配合实现绝对定位。Stack允许子组件堆叠,而Positioned用于根据Stack的四个角来确定子组件的位置。

Stack

alignment:

此参数决定如何去对齐没有定位(没有使用Positioned)或部分定位的子组件

textDirection:

和Row、Wrap的textDirection功能一样,都用于确定alignment对齐的参考系

fit:

此参数用于确定没有定位的子组件如何去适应Stack的大小。StackFit.loose表示使用子组件的大小,StackFit.expand表示扩伸到Stack的大小。

overflow:

此属性决定如何显示超出Stack显示空间的子组件;值为Overflow.clip时,超出部分会被剪裁,值为Overflow.visible 时则不会。

Positioned

left、top 、right、 bottom

分别代表离Stack左、上、右、底四边的距离

width和height

用于指定需要定位元素的宽度和高度
**
Positioned的width、height用于配合left、top 、right、 bottom来定位组件
即在水平方向时,你只能指定left、right、width三个属性中的两个,如指定left和width后,right会自动算出(left+width),如果同时指定三个属性则会报错,垂直方向同理

示例

Container(margin: const EdgeInsets.all(20),child: Stack(alignment: Alignment.topLeft,children: <Widget>[Positioned(child: Text("浮生如梦"),left: 100,top: 100,),Container(child: Text("来也匆匆,去也匆匆",style: TextStyle(color: Colors.white,),),color: Colors.lightBlue,),Positioned(child: Text("倚天屠龙记"),right: 0,bottom: 100,),],),width: double.infinity,height: 300,
),

效果

Stack中添加fit: StackFit.expand,

Container(margin: const EdgeInsets.all(20),child: Stack(alignment: Alignment.topLeft,fit: StackFit.expand,//没有定位的组件会占满Stackchildren: <Widget>[Positioned(child: Text("浮生如梦"),left: 100,top: 100,),Container(child: Text("来也匆匆,去也匆匆",style: TextStyle(color: Colors.white,),),color: Colors.lightBlue,),Positioned(child: Text("倚天屠龙记"),right: 0,bottom: 100,),],),width: double.infinity,height: 300,
),

如图,第二个组件Container占满了Stack全部,并盖住了第一个组件,所以第一个组件不可见。

Flutter层叠布局 Stack、Positioned相关推荐

  1. flutter 层叠布局Stack、Positioned

    Flutter中使用Stack和Positioned来实现层叠布局效果 1 Stack Stack({Key? key,this.alignment = AlignmentDirectional.to ...

  2. Flutter 层叠布局 Stack、Positioned

    层叠布局和Web中的绝对定位.Android中的Frame布局是相似的,子组件可以根据距父容器四个角的位置来确定自身的位置.绝对定位允许子组件堆叠起来(按照代码中声明的顺序).Flutter中使用St ...

  3. 【Flutter组件】层叠布局 Stack、Positioned

    层叠布局(Stack)和 Web 中的绝对定位.Android 中的 FrameLayout 布局是相似的,子组件可以根据距父容器四个角的位置来确定自身的位置.层叠布局允许子组件按照代码中声明的顺序堆 ...

  4. flutter 布局 Stack Positioned的混合操作 两个组件Container重叠 构建背景圆角操作 类似css的relative

    flutter 布局 Stack Positioned的混合操作 两个组件Container重叠 构建背景圆角操作 首先看一下需求 需要在这里加一个背景圆角,涉及到两个组件Container的重叠 我 ...

  5. Flutter组件学习(13)层叠布局Stack、Positioned

    介绍 层叠布局和Web中的绝对定位.Android中的Frame布局是相似的,子组件可以根据距父容器四个角的位置来确定自身的位置.绝对定位允许子组件堆叠起来(按照代码中声明的顺序) Stack ali ...

  6. Flutter之层叠布局Stack、Positioned

    Flutter中使用Stack和Positioned这两个组件来配合实现绝对定位.Stack允许子组件堆叠,而Positioned用于根据Stack的四个角来确定子组件的位置. 一.属性列表  Sta ...

  7. flutter 叠加布局Stack,Positioned超出部分显示

    层叠布局,子组件可以根据距父容器四个角的位置来确定自身的位置 Stack允许子组件堆叠,而Positioned用于根据Stack的四个角来确定子组件的位置. Stack Stack({Key key, ...

  8. 12、 Flutter Widgets 之 Stack,Positioned叠加组件

    Stack/Positioned是用来做页面布局定位的组件,需要结合使用 Stack children:一个数组,里面可放多个Widget alignment:Alignment.topCenter/ ...

  9. Flutter组件--重叠布局/相对布局(Stack,Positioned组件)

    1.Flutter Stack组件 Stack表示堆的意思,我们可以用Stack或者Stack结合Align或者Stack结合 Positiond来实现页面的定位布局 属性 说明 alignment ...

最新文章

  1. 腾讯!阿里!大二男生斩获4家头部科技公司实习offer!凭啥?
  2. 现场|除了谷歌AI中国中心成立的重磅消息,谷歌开发者大会现场还有这些
  3. java创建线程代码_Java创建与结束线程代码示例
  4. Spring注解之@validated的使用
  5. RHEL系统网络安装(kikstart)
  6. RUP,XP,敏捷原理
  7. python环绕文字_如何用css实现文字三面环绕图片?
  8. 步步高DVD机DV603的U盘模式支持视频格式
  9. 搭建一个自己的文件上传服务器。
  10. 操作系统——内存映射文件
  11. 机器学习文本特征提取
  12. 如何安装windows NT虚拟机
  13. hexo+next主题优化之加入网易云音乐、网易云跟帖、炫酷动态背景
  14. 《Linux内核分析》期末总结
  15. 检查型异常有哪些java_JAVA系列之检查型异常与非检查型异常的详解
  16. 腾讯云阿里云4月服务器价格对比
  17. Python11 镜像
  18. (转)Let’s make a DQN 系列
  19. Matlab中 intlinprog函数用法简介
  20. 【Kafka笔记】4.Kafka API详细解析 Java版本(Producer API,Consumer API,拦截器等)

热门文章

  1. 极米投影仪遥控器没用了?故障排除方法
  2. 【人工智能】美国犯罪率数据分析
  3. uniapp离线本地打包安卓app最新全部流程
  4. 分类模型——Softmax回归
  5. NoMap Speeding-Up JavaScript Using Hardware Transactional Memory
  6. 【2022前端面试】HTML面试题汇总(加紧收藏)
  7. mysql econnreset_MySQL在node.js服务器上的空闲时间后给出“ read ECONNRESET”错误
  8. 计算机网络第七版谢希仁著课后习题答案
  9. 安卓开发之IPC机制详解
  10. 在python中经常出现无法导入自己写的库文件的问题