flutter 布局 Stack Positioned的混合操作 两个组件Container重叠 构建背景圆角操作 类似css的relative
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相关推荐
- Flutter组件--重叠布局/相对布局(Stack,Positioned组件)
1.Flutter Stack组件 Stack表示堆的意思,我们可以用Stack或者Stack结合Align或者Stack结合 Positiond来实现页面的定位布局 属性 说明 alignment ...
- Flutter 布局篇 Positioned 和 Container
简介 Container 它是由众多容器类Widget(DecoratedBox.ConstrainedBox.Transform.Padding.Align等)组合成的Widget,所以它的功能可以 ...
- flutter 布局裁剪及实现微信聊天消息气泡组件
前言 在实际项目开发中我们有时候可能需要实现一个不规则的形状,比如一个四个角带点圆角的平行四边形容器,针对这种需求一般我们主要有三种方式实现: 1,裁剪 2,绘制 3,自定义形状ShapeBorder ...
- Flutter 笔记 | Flutter 布局组件
布局类组件都会包含一个或多个子组件,布局类组件都是直接或间接继承SingleChildRenderObjectWidget 和MultiChildRenderObjectWidget的Widget,它 ...
- 【Flutter】Flutter 布局组件 ( FractionallySizedBox 组件 | Stack 布局组件 | Positioned 组件 )
文章目录 一.FractionallySizedBox 组件 二.Stack 布局组件 三.Positioned 组件 四. 完整代码示例 五. 相关资源 一.FractionallySizedBox ...
- Flutter布局组件之层叠组件Stack和Positioned
层叠布局 Stack.Positioned 层叠布局和Web中的绝对定位.Android中的Frame布局是相似的,子组件可以根据距父容器四个角的位置来确定自身的位置.绝对定位允许子组件堆叠起来(按照 ...
- 【Flutter组件】层叠布局 Stack、Positioned
层叠布局(Stack)和 Web 中的绝对定位.Android 中的 FrameLayout 布局是相似的,子组件可以根据距父容器四个角的位置来确定自身的位置.层叠布局允许子组件按照代码中声明的顺序堆 ...
- Flutter 层叠布局 Stack、Positioned
层叠布局和Web中的绝对定位.Android中的Frame布局是相似的,子组件可以根据距父容器四个角的位置来确定自身的位置.绝对定位允许子组件堆叠起来(按照代码中声明的顺序).Flutter中使用St ...
- Flutter层叠布局 Stack、Positioned
Flutter中使用Stack和Positioned这两个组件来配合实现绝对定位.Stack允许子组件堆叠,而Positioned用于根据Stack的四个角来确定子组件的位置. Stack align ...
最新文章
- Apache访问日志详解
- 欧拉工程第57题:Square root convergents
- 我犯了一个错误,您能指出吗?(结论)
- 3 vue 线条箭头_教程|PPT绘制箭头最全攻略,收藏一下!
- c++11 中的 move 与 forward
- GoldenGate系列一:快速搭建单向同步GoldenGate环境
- 如何修复在Microsoft Azure中“虚拟机防火墙打开,关闭RDP的连接端口”问题
- 华为杯数学建模优秀论文_数学建模经典例题(2016年国赛B题与优秀论文)
- JVM系列一:JVM内存组成及分配
- 写软件开发需求你必须掌握的规格
- h5游戏引擎有哪些?h5制作模板游戏的教程和流程是什么?
- 航空公司客户价值特征构建与分析k-means
- Gitlab Code Review
- 怎么设置日历隔一天提醒
- C语言使用结构体给另一个同类型结构体赋值
- 防范返贫监测预警系统开发设计
- Java程序员掌握的Linux 基本操作
- 机器学习05|一万五字:SVM支持向量机02 【jupyter代码详解篇】
- 音视频支持和音视频播放
- TVD$XTAT在linux下安装使用详解