一、线性布局之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. Python+request 获取响应(elapsed)和响应时间(timeout)《七》

    requests发请求时,接口的响应时间,也是我们需要关注的一个点,如果响应时间太长,也是不合理的.如果服务端没及时响应,也不能一直等着,可以设置一个timeout超时的时间 具体的实现如下: 超时( ...

  2. python中的数据类型(二)

    一.列表(list) 列表是可变的,有序的(只要能索引的都是有序的) 列表的基本操作: 1.增 1.append   追加       例:lst.append(8)        print (ls ...

  3. MySQL分组排序(取第一或最后)

    MySQL分组排序(取第一或最后) 方法一:速度非常慢,跑了30分钟 SELECT custid, apply_date, rejectrule FROM ( SELECT *, IF ( , ) A ...

  4. 月球-I型,月份日历生成器----基于PHP7.3

    生成月份周日的类 <?php class mycalendar { function __construct($year,$mon) { $'; $this->firstday=strto ...

  5. SIGAI机器学习第八集 数据降维1

    讲授数据降维原理,PCA的核心思想,计算投影矩阵,投影算法的完整流程,非线性降维技术,流行学习的概念,局部线性嵌入,拉普拉斯特征映射,局部保持投影,等距映射,实际应用 大纲: 数据降维问题PCA的思想 ...

  6. 错误/异常:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/classes/beans_common.xml]...的解决方法

    1.第一个这种类型的异常 1.1.异常信息:org.springframework.beans.factory.BeanCreationException: Error creating bean w ...

  7. ZOJ 3182 HDU 2842递推

    ZOJ 3182 Nine Interlinks 题目大意:把一些带标号的环套到棍子上,标号为1的可以所以操作,标号i的根子在棍子上时,只有它标号比它小的换都不在棍子上,才能把标号为i+1的环,放在棍 ...

  8. 顺序表应用7:最大子段和之分治递归法(SDUT 3664)

    #include <bits/stdc++.h> using namespace std; const int maxn = 50005; int num = 0; struct node ...

  9. D3DFVF_XYZ和D3DFVF_XYZRHW的区别

    D3DFVF_XYZ和D3DFVF_XYZRHW的区别是:1.D3DXYZ默认的坐标系统用户区中心是 (0,0) 而rhw的左上角是 (0,0)2.D3DXYZ默认的非光照的,而RHW默认就是高洛夫的 ...

  10. pom.xml报错 : Missing artifact org.apache.shiro:shiro-spring:bundle:1.2.5

    添加有<type>bundle</type>标签的依赖时,都会报这个错. 需要在<build/><plugins/>里面追加标签 <plugin& ...