flutter 布局 Stack Positioned的混合操作 两个组件Container重叠 构建背景圆角操作

首先看一下需求 需要在这里加一个背景圆角,涉及到两个组件Container的重叠

我们使用Stack Positioned的混合操作 类似于css汇中的relative属性,而且我接下来使用的操作不影响之后的布局,有点骚的操作

先简单介绍一下这个Stack和Positioned。Stack是最外部布局,然后Positioned内部相对原有位置移动 先看个简单的示例

Stack(alignment: Alignment.center,children: [Container(width: 200,height: 200,color: Colors.green,alignment: Alignment.center,child: Text("Stack"),),Positioned(top: 10.0,width: 100,left: 10,child: Container(width: 100,height: 100,color: Colors.red,alignment: Alignment.center,child: Text("测试Posittion"),),)],)

效果图

接来我们来实现上述需求

我们先写好分别的两个组件 然后我们利用Positioned创建一个白色的圆角Container叠在红色箭头位置 位置用bottom:-15来定位 具体数值大家可以自己测

Stack(alignment: Alignment.topCenter,children: <Widget>[Container(height: 220,decoration: BoxDecoration(image: DecorationImage(image: AssetImage("assets/images/ground/顶部背景 6@2x.png"),fit: BoxFit.cover,),),child: Row(mainAxisAlignment: MainAxisAlignment.spaceBetween,crossAxisAlignment: CrossAxisAlignment.center,children: <Widget>[Padding(padding: EdgeInsets.all(10),child: Image.asset("assets/images/ground/顶部头像@2x.png",height: 120,width: 120,),),Expanded(child: Column(children: <Widget>[Padding(padding: EdgeInsets.fromLTRB(10, 30, 10, 10),child: Row(mainAxisAlignment: MainAxisAlignment.spaceBetween,children: <Widget>[Text("浙江大学",style: TextStyle(color: Colors.white, fontSize: 24, fontWeight: FontWeight.w600),),IconButton(icon: Icon(Icons.arrow_forward_ios,color: Colors.white,),onPressed: () {},)],),),Padding(padding: EdgeInsets.fromLTRB(10, 0, 10, 5),child: Row(mainAxisAlignment: MainAxisAlignment.spaceBetween,children: <Widget>[Text("1234帖子 1234成员",style: TextStyle(color: Colors.white, fontSize: 14),),Container(decoration: BoxDecoration(borderRadius: BorderRadius.circular(8),color: ColorsUtil.hexColor(0xD8D8D8, alpha: 0.4),),height: 40,width: 85,// color: ColorsUtil.hexColor(0xD8D8D8, alpha: 0.4),child: InkWell(child: Row(children: <Widget>[SizedBox(width: 12,),Icon(Icons.add,color: Colors.white,),Text("加入",style: TextStyle(color: Colors.white),),],),),)],),),Padding(padding: EdgeInsets.fromLTRB(10, 0, 0, 5),child: Text("置顶:欢迎来到浙江大学操场,这里是本校区所有活动的集结之地,在这里你可以发布任意动态,希望你玩得开心~",style: TextStyle(color: Colors.white),),)],))],),),Positioned(bottom: -15.0,width: ScreenUtil.screenWidth,child: Container(width: ScreenUtil.screenWidth,height: 30,alignment: Alignment.center,decoration: BoxDecoration(color: Colors.white, borderRadius: BorderRadius.all(Radius.circular(30))),),),],
),

效果图

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

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

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

  2. Flutter 布局篇 Positioned 和 Container

    简介 Container 它是由众多容器类Widget(DecoratedBox.ConstrainedBox.Transform.Padding.Align等)组合成的Widget,所以它的功能可以 ...

  3. flutter 布局裁剪及实现微信聊天消息气泡组件

    前言 在实际项目开发中我们有时候可能需要实现一个不规则的形状,比如一个四个角带点圆角的平行四边形容器,针对这种需求一般我们主要有三种方式实现: 1,裁剪 2,绘制 3,自定义形状ShapeBorder ...

  4. Flutter 笔记 | Flutter 布局组件

    布局类组件都会包含一个或多个子组件,布局类组件都是直接或间接继承SingleChildRenderObjectWidget 和MultiChildRenderObjectWidget的Widget,它 ...

  5. 【Flutter】Flutter 布局组件 ( FractionallySizedBox 组件 | Stack 布局组件 | Positioned 组件 )

    文章目录 一.FractionallySizedBox 组件 二.Stack 布局组件 三.Positioned 组件 四. 完整代码示例 五. 相关资源 一.FractionallySizedBox ...

  6. Flutter布局组件之层叠组件Stack和Positioned

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

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

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

  8. Flutter 层叠布局 Stack、Positioned

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

  9. Flutter层叠布局 Stack、Positioned

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

最新文章

  1. Apache访问日志详解
  2. 欧拉工程第57题:Square root convergents
  3. 我犯了一个错误,您能指出吗?(结论)
  4. 3 vue 线条箭头_教程|PPT绘制箭头最全攻略,收藏一下!
  5. c++11 中的 move 与 forward
  6. GoldenGate系列一:快速搭建单向同步GoldenGate环境
  7. 如何修复在Microsoft Azure中“虚拟机防火墙打开,关闭RDP的连接端口”问题
  8. 华为杯数学建模优秀论文_数学建模经典例题(2016年国赛B题与优秀论文)
  9. JVM系列一:JVM内存组成及分配
  10. 写软件开发需求你必须掌握的规格
  11. h5游戏引擎有哪些?h5制作模板游戏的教程和流程是什么?
  12. 航空公司客户价值特征构建与分析k-means
  13. Gitlab Code Review
  14. 怎么设置日历隔一天提醒
  15. C语言使用结构体给另一个同类型结构体赋值
  16. 防范返贫监测预警系统开发设计
  17. Java程序员掌握的Linux 基本操作
  18. 机器学习05|一万五字:SVM支持向量机02 【jupyter代码详解篇】
  19. 音视频支持和音视频播放
  20. TVD$XTAT在linux下安装使用详解

热门文章

  1. 关于论文分两栏的问题
  2. 关键词排名我们如何才能优化到首页
  3. 首届“设计·无尽谈”论坛完满收官 持续打造当代设计共同体
  4. 录屏居然也可以用iTab新标签页
  5. knime使用demo
  6. 各式各样的编程风格 ~~~
  7. 火山视窗选择框,分组框,单选框,状态条,工具条组件介绍
  8. java 关联关系_类的关系之一——关联关系
  9. 华为手表使用自制表盘
  10. 【Android】BLE 蓝牙开发流程篇