Flutter基础—布局模型之水平垂直
水平布局
Row控件即水平布局控件,能够将子控件水平排列。
Row子控件有灵活与不灵活的两种,Row首先列出不灵活的子控件,减去它们的总宽度,计算还有多少可用的空间。然后Row按照Flexible.flex属性确定的比例在可用空间中列出灵活的子控件。要控制灵活子控件,需要使用Flexible控件:
import 'package:flutter/material.dart';
class LayoutDemo extends StatelessWidget {@overrideWidget build(BuildContext context) {return new Scaffold(appBar: new AppBar(title: new Text('水平方向布局'),),body: new Row(children: <Widget>[new RaisedButton(onPressed: () {print('点击红色按钮事件');},color: const Color(0xffcc0000),child: new Text('红色按钮'),),new Flexible(flex: 1,child: new RaisedButton(onPressed: () {print('点击黄色按钮事件');},color: const Color(0xfff1c232),child: new Text('黄色按钮'),),),new RaisedButton(onPressed: () {print('点击粉色按钮事件');},color: const Color(0xffea9999),child: new Text('粉色按钮'),),]),);}
}
void main() {runApp(new MaterialApp(title: 'Flutter教程',home: new LayoutDemo(),),);
}
垂直布局
Column控件即垂直布局控件,能够将子控件垂直排列。
与Row控件一样,Column控件的子控件也有分灵活与不灵活的。首先Column列出不灵活的子控件,减去它们的总高度,计算还有多少可用空间。然后Column按照Flexible.flex属性确定的比例在可用空间中列出灵活的子控件。要控制灵活子控件,需要使用Flexible控件:
import 'package:flutter/material.dart';
class LayoutDemo extends StatelessWidget {@overrideWidget build(BuildContext context) {return new Scaffold(appBar: new AppBar(title: new Text('垂直方向布局'),),body: new Column(children: <Widget>[new RaisedButton(onPressed: () {print('点击红色按钮事件');},color: const Color(0xffcc0000),child: new Text('红色按钮'),),new Flexible(flex: 1,child: new RaisedButton(onPressed: () {print('点击黄色按钮事件');},color: const Color(0xfff1c232),child: new Text('黄色按钮'),),),new RaisedButton(onPressed: () {print('点击粉色按钮事件');},color: const Color(0xffea9999),child: new Text('粉色按钮'),),]),);}
}
void main() {runApp(new MaterialApp(title: 'Flutter教程',home: new LayoutDemo(),),);
}
Flutter基础—布局模型之水平垂直相关推荐
- Flutter基础—布局模型之滚动块
ListView即滚动列表控件,能将子控件组成可滚动的列表.当你需要排列的子控件超出容器大小,就需要用到滚动块. import 'package:flutter/material.dart'; cla ...
- Flutter基础—布局模型之层叠定位
Stack即层叠布局控件,能够将子控件层叠排列. Stack控件的每一个子控件都是定位或不定位,定位的子控件是被Positioned控件包裹的.Stack控件本身包含所有不定位的子控件,其根据alig ...
- Flutter基础布局组件及实现
https://www.cnblogs.com/lxlx1798/p/11084904.html 一,概述 Flutter中拥有30多种预定义的布局widget,常用的有Container.Paddi ...
- Flutter 基础布局之Row
Row意为水平布局,可以使其包含的子控件按照水平方向排列 代码如下: class _TestState extends State<Test> {@overrideWidget build ...
- Flutter 基础布局Widgets之Expanded详解
Expanded概述 Expanded是用于展开Row,Column或Flex的子child的Widget. 使用Expanded可以使[Row],[Column]或[Flex]的子项扩展以填充主轴中 ...
- Flutter 基础布局之Column
Column意为垂直布局,可以使其包含的子控件按照垂直方向排列 代码如下: class _TestState extends State<DemoPage2> {@overrideWidg ...
- Flutter 基础布局Widgets之Baseline、AspectRatio详解
Baseline概述 Baseline即根据child的baseline定位child的小部件,即使得不同的child都处在规定的基线位置,尤其是多用在文字排版中,比如使得不同大小的文字处于同一水平线 ...
- flutter基础布局之 Drawer
Drawer 一般放在标题栏上,通过ListView和ListTile的配合,用于显示隐藏的标题. Scaffold(appBar: AppBar(title: const Text('Drawer ...
- Flutter 布局Row(水平方向布局)、Column(垂直方向布局)、Wrap(可以自动换行的布局)、Flex(弹性布局)、Stack(叠层布局)、
1.线性布局 Row 水平方向布局 Row({... //表示水平方向子组件的布局顺序(是从左往右还是从右往左),//默认为系统当前Locale环境的文本方向(如中文.英语都是从左往右,而阿拉伯语是从 ...
最新文章
- Java 使用itextPdf7操作pdf,写入照片这一篇就够了
- css清楚浮动的class
- Windows xp下配置Apache、PHP环境及Oracle10g客户端
- linux shell 学习
- android 插补器Interpolator的使用
- [地球人]BlogEngine.NET[Appwo.com版]+采集器
- 前端工程师面试题汇总
- NET问答: 是否有通用的方法判断一个 Type 是 Number ?
- js 正则表达式实现文本验证
- popupmenu java_Java基于JPopupMenu实现系统托盘的弹出菜单,解决PopupMenu弹出菜单中文乱码...
- 利用python分析电商_Python实现爬取并分析电商评论
- 水下清淤机器人_水下清淤机器人启用,箱涵清淤有了新招数~
- 《node2vec Scalable Feature Learning for Networks》阅读笔记
- css代码样式大全(整理版)
- 超详细的单臂路由详解
- 利用Photos 框架搭建美图秀秀相册选择器
- 计算机鼠标不灵活怎么办,鼠标不灵怎么办 鼠标不灵的常见解决方法
- 五点差分法求解偏微分方程(PDE)
- 机器学习 28 个视频教程
- 小学生计算机课程的简报,《让故事动起来》——信息技术公开课简报