一、线性布局之Row布局组件(以水平阵列显示其子级的小部件)

   属性:Row({

        TextDirection textDirection,            表示水平方向子组件的布局顺序(是从左往右还是从右往左),默认为系统当前Locale环境的文本方向
        MainAxisSize mainAxisSize = MainAxisSize.max,           表示Row在主轴(水平)方向占用的空间,默认是MainAxisSize.max,表示尽可能多的占用水平方向的空间,此时无论子widgets实际占用多少水平空间,          Row的宽度始终等于水平方向的最大宽度;而MainAxisSize.min表示尽可能少的占用水平空间,当子组件没有占满水平剩余空间,则Row的实际宽度等于所有子组件占用的的水平空间
        MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start,          表示子组件在Row所占用的水平空间内对齐方式,当MaxinAxisSize定义为min时,次属性无意义;其可选属性可以参考Text控件,其start的位置参考TextDirection的定义,可以理解为:textDirectionmainAxisAlignment的参考系。               VerticalDirection verticalDirection = VerticalDirection.down,          表示Row纵轴(垂直)的对齐方向,默认是VerticalDirection.down,表示从上到下。         CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center,          表示子组件在纵轴方向的对齐方式,Row的高度等于子组件中最高的子元素高度,它的取值和MainAxisAlignment一样(包含startend、 center三个值)       List<Widget> children = const <Widget>[],          子组件数组。
      })

   补充1:常用属性有:MainAxisAlignment children

   补充2:Row控件可以分为灵活排列和非灵活排列两种

  1).不灵水平布局(不灵活就是根据Row子元素的大小,进行布局。如果子元素不足,它会留有空隙,如果子元素超出,它会警告)

       

    代码如下:

    child:Row(
              children: <Widget>[
                  RaisedButton(
                      onPressed: (){},
                      color: Colors.redAccent,
                    child: Text('红色按钮'),
                  ),
                  RaisedButton(
                      onPressed: (){},
                      color: Colors.blueAccent,
                      child: Text('蓝色按钮'),
                  ),
                  RaisedButton(
                      onPressed: (){},
                      color: Colors.grey,
                    child: Text('灰色按钮'),
                  ),
              ],
            ),
  
  补充:不灵活布局中row的大小是根据子元素大小而定的,而并不是自适应父级元素的大小。

  2).灵活水平布局(解决上面有空隙的问题,可以使用 Expanded来进行解决,也就是我们说的灵活布局)

    用法:Expanded(child:);将需要进行灵活布局的row的子控件放到Expanded 的child下,该子元素就可以进行灵活布局。

      实例代码段:     

        Expanded(child:RaisedButton(
                      onPressed: (){},
                      color: Colors.redAccent,
           child: Text('红色按钮'),
                    ),
    效果图:
        

二、线性布局之Row布局组件(可以在垂直方向排列其子组件)

  参数和Row一样,不同的是布局方向为垂直,主轴纵轴正好相反,类比Row来理解,属性就不从重复介绍。其灵活布局也可类比row

  灵活布局及效果图:

        

Futter基础组件之二的更多相关文章

  1. Flask 基础组件(二):配置文件

    配置参数 flask中的配置文件是一个flask.config.Config对象(继承字典),默认配置为: { 'DEBUG': get_debug_flag(default=False), 是否开启 ...

  2. RabbitMQ系列(二)--基础组件

    声明:对于RabbitMQ的学习基于某课网相关视频和<RabbitMQ实战指南>一书,后续关于RabbitMQ的博客都是基于二者 一.什么是RabbitMQ RabbitMQ是开源代理和队 ...

  3. android学习——必学基础组件

    android基础组件是一个Android的开发人员必须要了解,且深刻理解的东西: 1.应用程序基础 2.应用程序组件 2.1.活动(Activities) 2.2.服务(Services) 2.3. ...

  4. 任务四十一:UI组件之日历组件(二)

    任务四十一:UI组件之日历组件(二) 面向人群: 有一定基础的同学 难度: 中 重要说明 百度前端技术学院的课程任务是由百度前端工程师专为对前端不同掌握程度的同学设计.我们尽力保证课程内容的质量以及学 ...

  5. Ansible playbook基础组件介绍

    本节内容: ansible playbook介绍 ansible playbook基础组件 playbook中使用变量 一.ansible playbook介绍 playbook是由一个或多个“pla ...

  6. ansible入门四(Ansible playbook基础组件介绍)

    本节内容: ansible playbook介绍 ansible playbook基础组件 playbook中使用变量 一.ansible playbook介绍 playbook是由一个或多个“pla ...

  7. 微服务架构案例(05):SpringCloud 基础组件应用设计

    本文源码:GitHub·点这里 || GitEE·点这里 更新进度(共6节): 01:项目技术选型简介,架构图解说明 02:业务架构设计,系统分层管理 03:数据库选型,业务数据设计规划 04:中间件 ...

  8. Python 基础 面向对象之二 三大特性

    Python 基础 面向对象之二 三大特性 上一篇主要介绍了Python中,面向对象的类和对象的定义及实例的简单应用,本篇继续接着上篇来谈,在这一篇中我们重点要谈及的内容有:Python 类的成员.成 ...

  9. SpringCloud基础组件总结,与Dubbo框架、SpringBoot框架对比分析

    本文源码:GitHub·点这里 || GitEE·点这里 一.基础组件总结 1.文章阅读目录 1).基础组件 Eureka组件,服务注册与发现 Ribbon和Feign组件,实现负载均衡 Hystri ...

随机推荐

  1. phpstudy修改端口及网站根目录和访问 localhost 显示目录文件夹

    一.其它选项菜单=>phpStudy设置=>端口常规设置(勾选允许目录列表): 二. Apache http端口:80 网站目录:D:\phpStudy\PHPTutorial\WWW 默 ...

  2. python+requests----登录接口reponse中token传递给其他接口使用的一个简单小示例介绍

    #!/usr/bin/env python # coding=UTF-8 import requests def login(): url = "https://xxxx.xxx.xxx/v ...

  3. docker压缩导入导出

    导出镜像 docker save <myimage>:<tag> | gzip > <myimage>_<tag>.tar.gz 导入镜像 gun ...

  4. C++编译错误--C++连接redis:编译错误error C2371: “off_t”: 重定义;不同的基类型

    编译错误:对于编译C++调用hiredis编译错误:error C2371: “off_t”: 重定义:不同的基类型,如下图: 可能的解决方案: 1. 因为hiredis预处理器定义了_OFF_T_D ...

  5. bzoj3694

    /* * 对于不在最短路树上的边(x, y) * 1 * | * | * t * / \ * / \ * x-----y * 考虑这样一种形态的图, ‘-’ 标记为非最短路树的边 * 对于边集(x, ...

  6. 【概率论】4-5:均值和中值(The Mean and the Median)

    title: [概率论]4-5:均值和中值(The Mean and the Median) categories: - Mathematic - Probability keywords: - Me ...

  7. CodeForces - 999B Reversing Encryption

    B - Reversing Encryption A string s of length n can be encrypted by the following algorithm: iterate ...

  8. scrapy框架之log日志

    scrapy中的debug信息 在scrapy中设置log 1.在settings中设置log级别,在settings.py中添加一行: Scrapy提供5层logging级别: CRITICAL - ...

  9. [题解] [BZOJ4144] 「AMPPZ2014」Petrol

    题面 怎么是权限题啊 题解 有一次考过, 但是不记得了 如果每个点都是加油站的话, 这道题就是货车运输 考虑如何转化 我们可以设

  10. Linux设备驱动程序 之 中断

    中断 中断使得硬件可以发出通知给处理器,本质上是一种特殊的电信号,由硬件设备发向处理器,处理器接收到中断后,会马上向操作系统反应此信号的到来,然后就由操作系统负责处理这些新来的数据:硬件设备生成中断并 ...