一、Flutter Paddiing 组件

在 html 中常见的布局标签都有 padding 属性,但是 Flutter 中很多 Widget 是没有 padding 属性。这个时候我们可以用 Padding 组件处理容器与子元素直接的间距。
 
属性 说明
padding padding 值, EdgeInsetss 设置填充的值
child 子组件
 
class LayoutDemo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Padding(
padding: EdgeInsets.fromLTRB(0, 0, 10, 0),
child: GridView.count(
crossAxisCount: 2,
childAspectRatio: 1.5,
children: <Widget>[
Padding(
padding: EdgeInsets.fromLTRB(10, 10, 0, 0),
child: Image.network('https://www.itying.com/images/flutter/1.png',
fit: BoxFit.cover),
),
Padding(
padding: EdgeInsets.fromLTRB(10, 10, 0, 0),
child: Image.network('https://www.itying.com/images/flutter/2.png',
fit: BoxFit.cover),
),
Padding(
padding: EdgeInsets.fromLTRB(10, 10, 0, 0),
child: Image.network('https://www.itying.com/images/flutter/3.png',
fit: BoxFit.cover),
),
Padding(
padding: EdgeInsets.fromLTRB(10, 10, 0, 0),
child: Image.network('https://www.itying.com/images/flutter/4.png',
fit: BoxFit.cover),
),
Padding(
padding: EdgeInsets.fromLTRB(10, 10, 0, 0),
child: Image.network('https://www.itying.com/images/flutter/5.png',
fit: BoxFit.cover),
),
Padding(
padding: EdgeInsets.fromLTRB(10, 10, 0, 0),
child: Image.network('https://www.itying.com/images/flutter/6.png',
fit: BoxFit.cover),
),
],
),
);
}
}

二、Flutter Row 水平布局组件

属性 说明
mainAxisAlignment
主轴的排序方式
crossAxisAlignment
次轴的排序方式
children
组件子元素
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('FlutterDemo')),
body: LayoutDemo(), ,
));
}
} class LayoutDemo extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
height: 700,
width: 500,
color: Colors.black26,
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
// crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
IconContainer(Icons.home, color: Colors.red),
IconContainer(Icons.search, color: Colors.blue),
IconContainer(Icons.send, color: Colors.orange),
],
),
);
}
} class IconContainer extends StatelessWidget {
double size;
IconData icon;
Color color; IconContainer(this.icon, {this.size, this.color = Colors.blue}) {
this.size = 32.0;
} @override Widget build(BuildContext context) {
return Container(
width: this.size+60,
height: this.size+60,
color:this.color,
child: Center(
child: Icon(this.icon,color:Colors.white,size:this.size)
)
);
} }

最新文章

  1. php 搜索(查询)功能
  2. topcoder SRM 622 DIV2 FibonacciDiv2
  3. 【spring】non-compatible bean definition of same name and class
  4. pssh 不能执行指定用户命令
  5. 《JavaScript模式》读书笔记
  6. c#使用Microsoft Excel 12.0 object Libary导出的Excel文件office2003不能打开!!~~(分享)
  7. &lt;转载&gt;使CSS文字图片div元素居中方法之水平居中的几个方法
  8. 关于三星设备 Activity.onDestroy() 被调用。显示“开发者选项”
  9. drupal7 sql接口笔记
  10. 推荐几个web中常用js图表插件
  11. Java ClassLoader加载机制
  12. ssh整合开发
  13. Android 动画 属性动画 视图动画 补间动画 帧动画 详解 使用
  14. 干了这碗鸡汤:从理发店小弟到阿里P10技术大牛
  15. 反射中的一个问题点:利用Method执行main方法特殊的地方
  16. Tensorflow:DCGAN生成手写数字
  17. ivew定制主题 less ^3.0 时报错 .bezierEasingMixin(); Inline JavaScript is not enabled. Is it set in your options?
  18. 微信小程序奇奇怪怪的语法
  19. noip第23课作业
  20. Resharper简单安装及代码覆盖率的测试

热门文章

  1. 第八周作业-N67044-张铭扬
  2. windows与linux下的路径区别
  3. Vue2 常见问题汇总及解决方案
  4. myJRebel 已不可用
  5. redisTemplate实现分布式锁(释放锁用lua脚本)
  6. LogAgent —— etcd+kafka+zookeeper+go实现实时读取日志发送到kafka,并实现热加载配置读取的日志路径
  7. vue input输入框关键字筛选检索列表数据展示
  8. typora文件中不显示公式
  9. 浏览器打开微信小程序
  10. 遇到端口占用无法启动IIS Express服务器