【Flutter】布局类组件之对齐和相对定位
前言
如果只想简单的调整一个子元素在父元素中的位置的话,使用Align组件会更简单一些。
接口描述
const Align({
Key key,
// 需要一个AlignmentGeometry类型的值,表示子组件在父组件中的起始位置。
// AlignmentGeometry 是一个抽象类,它有两个常用的子类:Alignment和 FractionalOffset。
this.alignment = Alignment.center,
// widthFactor和heightFactor是用于确定Align 组件本身宽高的属性;
// 它们是两个缩放因子,会分别乘以子元素的宽、高,最终的结果就是Align 组件的宽高。
// 如果值为null,则组件的宽高将会占用尽可能多的空间。
this.widthFactor,
this.heightFactor,
Widget child,
})
代码示例
import 'package:flutter/material.dart';
class AlignTest extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('对齐和相对定位(Align)'),
),
body: Container(
// 显式指定了Container的宽、高都为120
height: 120.0,
width: 120.0,
color: Colors.blue[50],
child: Align(
// 不显式指定宽高,通过同时指定widthFactor和heightFactor 为2也是可以达到同样的效果:2*60=120
widthFactor: 2,
heightFactor: 2,
alignment: Alignment.topCenter,
// FlutterLogo 是Flutter SDK提供的一个组件,内容就是Flutter的商标。
child: FlutterLogo(
size: 60,
),
),
),
);
}
}
【Flutter】布局类组件之对齐和相对定位的更多相关文章
- Flutter 布局类组件:简介
前言 布局类组件都会包含一个或多个子组件,不同的布局类组件对子组件排版(layout)方式不同. 我们知道,Element树才是最终的绘制树,Element树是通过Widget树来创建的(通过Widg ...
- Flutter 布局类组件:层叠布局(Stack和Positioned)
前言 层叠布局,即子组件可以根据距父容器四个角的位置来确定自身的位置.绝对定位运行子组件堆叠起来,即按照代码中声明的顺序. Flutter中使用Stack和Positioned这两个组件来配合实现绝对 ...
- Flutter 布局类组件:流式布局(Wrap和Flow)
前言 把超出屏幕显示范围会自动折行的布局称为流式布局.Flutter中通过Wrap和Flow来支持流式布局,将Row换成Wrap后溢出部分则会自动折行. Wrap 接口描述 Wrap({ Key ke ...
- Flutter 布局类组件:线性布局(Row和Column)
前言 所谓线性布局,即指沿水平或垂直方向排布子组件.Flutter中通过Row和Column来实现线性布局,并且它们都继承自弹性布局(Flex). 接口描述 Row({ Key key, // 表示子 ...
- Flutter 布局类组件:弹性布局(Flex)
前言 弹性布局允许子组件按照一定比例来分配父容器空间,Flutter中的弹性布局主要通过Flex和Expanded来配合实现. Flex Flex组件可以沿着水平或垂直方向排列子组件,如果你知道主轴方 ...
- 你真的会用Flutter日期类组件吗
Flutter系统提供了一些日期选择类组件,比如DayPicker.MonthPicker.YearPicker.showDatePicker.CupertinoDatePicker等,其中前4个为M ...
- Flutter 裁剪类组件 最全总结
注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 ClipRect ClipRect组件使用矩形裁剪子组件, ...
- Flutter 布局(二)- Padding、Align、Center详解
本文主要介绍Flutter布局中的Padding.Align以及Center控件,详细介绍了其布局行为以及使用场景,并对源码进行了分析. 1. Padding A widget that insets ...
- Android Studio安卓学习笔记(三)Android用户界面的设计布局与组件(一)用户界面布局设计(1)
当我们创建了一个安卓项目后,我们会发现真正建立一个完善的安卓项目并不是想象的那么容易.其实和设计GUI可视化界面一样,开发安卓也需要考虑很多方面,主要考虑的还是界面布局和需要的组件. 一:Androi ...
随机推荐
- basic english
color/visual see look color dark light beautiful shade black blue brown clear gray green orange red ...
- redis学习之——redis.conf配置(基本)文件学习
# Redis configuration file example # Note on units: when memory size is needed, it is possible to sp ...
- logstash导入DNS解析数据到es中,中间有filebeat
这个过程中,主要用logstash处理数据的时候不好处理. 在logstash-sample.conf这个配置文件中的配置,我用这个监控filebeat的5044端口 # Sample Logstas ...
- 20201207-2 openpyxl 库与模块导入
1-1 import openpyxl # 通过文件路径,打开工作簿 wb1 = openpyxl.load_workbook('./demo_excel.xlsx') # 用 Workbook() ...
- 实验:非GTID 一主多从变级联架构
- 阿里云,批量删除oss所有的bucket
需求:多个账号需要清空bucket.阿里不支持一键删除,很是麻烦. 使用的工具是osscmd,先下载osscmd后解压,然后在同级目录创建两个文件,一个写AccessKeySecret,另一个写Acc ...
- idea导入配置SSM项目,并进行打包
idea确实是一个功能强大的开发工具,但是配置项目太复杂,每次都要花费很长的时间在配置上. 关于SSM项目导入,配置,打包,看这篇就够了,百试不爽.
- SharePoint Online之通过JSOM发送邮件
我们在SharePoint 开发过程中,经常会用到发邮件的功能,例如向Manager提醒有需要待办任务等等场景. 图片来自网站,如侵权,速删 一般我们会采用Workflow或者Power Automa ...
- win10新版wsl2使用指南
本篇文章会介绍win10中wsl2的安装和使用以及遇到的常见问题比如如何固定wsl2地址等问题的总结. 一.wsl2简介 wsl是适用于 Linux 的 Windows 子系统,安装指南:适用于 Li ...
- 在Centos下使用Siege对Django服务进行压力测试
Siege是linux下的一个web系统的压力测试工具,支持多链接,支持get和post请求,可以对web系统进行多并发下持续请求的压力测试.今天我们就使用Siege来对Django进行一次压力测试, ...