11、层叠布局(Stack、Align、 Positioned)
Flutter Stack组件

Alignment(对齐)类是用于表示相对于父容器的对齐方式的;
Alignment 类的常见用法:
- Alignment.topLeft: 左上对齐
- Alignment.topCenter: 居中顶部对齐
- Alignment.topRight: 右上对齐
- Alignment.centerLeft: 居中左侧对齐
- Alignment.center: 居中对齐 (默认值)
- Alignment.centerRight: 居中右侧对齐
- Alignment.bottomLeft: 左下对齐
- Alignment.bottomCenter: 居中底部对齐
- Alignment.bottomRight: 右下对齐
Alignment 还可以使用偏移量进行微调。例如:
- Alignment(-1.0, -1.0): 左上角对齐
- Alignment(1.0, 0.0): 右侧居中对齐
- Alignment(0.0, 0.5): 父容器顶部中心对齐
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return Stack(
alignment: Alignment.center, //子元素显示的位置
children: [
Container(
height: 150,
width: 150,
color: Colors.red,
),
Text("你好")
],);
}}
Flutter Stack Align
1.Align结合Container的使用
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return Container(
// alignment: Alignment.center,
height: 150,
width: 150,
color: Colors.red,
child: const Align( // center是Align的子主键
alignment: Alignment.center,
child: Text("你好"),)
);
}
}
2.Align结合Alignment 参数
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return Container(
// alignment: Alignment.center,
height: 150,
width: 150,
color: Colors.red,
child: const Align( // center是Align的子主键
alignment: Alignment(0,1), //(Alignment.x*childWidth/2+childWidth/2, Alignment.y*childHeight/2+childHeight/2)
child: Text("你好"),)
);
}
}
3.Align结合Alignment 参数
4.Align结合Stack组件
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return Container(
width: 300,
height: 200,
color: Colors.red,
child: const Stack(
children: [
Align(
alignment: Alignment.topLeft,
child: Text("收藏"),
),
Align(
alignment: Alignment.topRight,
child: Text("购买"),
)
],
),
);
}
}
Flutter Stack Positioned

Stack 结合Positioned参数
class HomePage extends StatelessWidget {
const HomePage({super.key});
@override
Widget build(BuildContext context) {
return Container(
height: 400,
width: 400,
color: Colors.yellow,
child: Stack( //注意:相对于外部容器进行定位 如果没有外部容器就相对于整个屏幕进行定位
children: [
Positioned(
left: 0,
width: 50,//配置子元素的宽度 无法使用double.infinity
// right: 0,
bottom: 0,
child: Container(
height: 300,
width: 300,
color: Colors.red,
),),
const Positioned(right: 0, top: 190, child: Text("你好吗"))
],),
);
}}
11、层叠布局(Stack、Align、 Positioned)的更多相关文章
- Flutter 布局类组件:层叠布局(Stack和Positioned)
前言 层叠布局,即子组件可以根据距父容器四个角的位置来确定自身的位置.绝对定位运行子组件堆叠起来,即按照代码中声明的顺序. Flutter中使用Stack和Positioned这两个组件来配合实现绝对 ...
- 11Flutter页面布局 Stack层叠组件 Stack与Align Stack与Positioned实现定位布局
/* Flutter 页面布局 Stack层叠组件: Stack与Align Stack与Positioned实现定位布局: Flutter Stack组件: Stack表示堆得意思,我们可以用Sta ...
- 定位布局 Stack 层叠组件 Stack 与 Align Stack 与 Positioned 实现
一.Flutter Stack 组件 Stack 表示堆的意思,我们可以用 Stack 或者 Stack 结合 Align 或者 Stack 结合 Positiond 来实现页面的定位布局 align ...
- 页面布局 Stack 层叠组件 Stack 与 Align Stack 与 Positioned 实现定位布局
一.Flutter Stack 组件 Stack 表示堆的意思,我们可以用 Stack 或者 Stack 结合 Align 或者 Stack 结合 Positiond 来实现页面的定位布局 属性 说明 ...
- 技术胖Flutter第三季-16Stack层叠布局
16Stack层叠布局 在上面声明一个变量Stack里面包含两个元素,第一个 是CircleAvater第二个子对象是Container 效果 把文字房子啊中下的位置: 我们需要对齐属性 包含了x轴和 ...
- Flutter 页面布局 Stack层叠组件
Stack 表示堆的意思,我们可以用 Stack 或者 Stack 结合 Align 或者 Stack 结合 Positiond 来实现页面的定位布局 属性 说明 alignment 配置所有子元素的 ...
- IE 11 flex布局兼容性问题 ---- 不支持min-height 和flex:1
由于最近项目要嵌入其它平台,所以要做IE11 的兼容,那就用IE11打开网页看一看,一看吓一跳,页脚直接到了页眉的下面,并把主要内容覆盖了,也就是stick footer 布局失效了,我写了一个简易的 ...
- Android学习笔记(11):线性布局LinearLayout
线性布局LinearLayout是指在横向或是竖向一个接一个地排列.当排列的组件超出屏幕后,超出的组件将不会再显示出来. LinearLayout支持的XML属性和相应方法如表所看到的: Attrib ...
- 《Flutter实战》开源电子书
<Flutter实战>开源电子书 <Flutter实战> 开源了,本书为 Flutter中文网开源电子书项目,本书系统介绍了Flutter技术的各个方面,本书属于原创书籍(并非 ...
- Flutter开发之Widget布局和页面导航
一.水平布局Row Row控件可以分为非灵活排列和灵活排列两种,灵活的可以在外边加入Expanded使用 两者混用: import 'package:flutter/material.dart'; v ...
随机推荐
- Factors 分解质因数
package com.yourself.yours; import java.util.Scanner; /** ****************************************** ...
- DDMS查看Threads情况
有时候程序运行出现死锁或者信号量卡死是很纠结的问题,单看代码很难分析定位问题,这时候可以借助DDMS来查看threads的运行情况,一目了然. 手机连接上USB,确保adb连通,然后启动Eclipse ...
- Java 集合的排序(正序倒序)、查找元素的下边、最大值、最小值
Java 集合的排序(正序倒序).查找元素的下边.最大值.最小值 集合的排序 集合查找对应元素的下标 集合的最大最小值 集合的排序 使用Collections.sort()排序,默认是递增.加上比较器 ...
- 每天5分钟复习OpenStack(五)CPU虚拟化
KVM 虚拟化之CPU 虚拟化存在是为了更高效的利用物理机的资源,而虚拟机技术主要是针对三大组件,分别是CPU虚拟化.存储虚拟化.网络虚拟化.下面我们分别介绍下三大组件的常用知识. CPU 虚拟化 1 ...
- JUC并发编程学习笔记(九)阻塞队列
阻塞队列 阻塞 队列 队列的特性:FIFO(fist inpupt fist output)先进先出 不得不阻塞的情况 什么情况下会使用阻塞队列:多线程并发处理.线程池 学会使用队列 添加.移除 四组 ...
- easyupload
打开界面就是一个文件上传 的界面 然后在bp试了很多种方法都没有成功,还是看了wp 这里需要利用到.use.ini那为什么不用.heaccess?好像这种方法被过滤了,当时我用的时候没有成功 这里的话 ...
- 四载磨砺,一群青年“识瘤者”以AI助力医疗创新
本文分享自华为云社区<[先锋开发者云上说]四载磨砺,一群青年"识瘤者"以AI助力医疗创新>,作者:Gauss松鼠会小助手2 . 一群青年"识瘤者" ...
- Vivado生成bitstream时报错[Opt 31-67] Problem: A LUT3 cell in the design is missing a connection on input pin I1, which is used by the LUT equation
这个原因主要是因为有一个引脚没有用到,解决方法. 1.打开Schematic. 2.根据提示的模块去找,比如说我的报错. [Opt 31-67] Problem: A LUT3 cell in the ...
- 2021 ICPC济南 J Determinant
题意就是给定一个矩阵,然后给出他的行列式的绝对值,这个值是精确的,然后让我们判断行列式的正负. 思路来源:一个Acmer 首先做这个题要明白一个性质才可以做,一个数和它的相反数对一个奇数的取模一定不同 ...
- 30. 干货系列从零用Rust编写正反向代理,HTTP的组装之旅(中间件)
wmproxy wmproxy已用Rust实现http/https代理, socks5代理, 反向代理, 静态文件服务器,四层TCP/UDP转发,七层负载均衡,内网穿透,后续将实现websocket代 ...