一、线性布局之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. TCP的半连接

    T C P提供了连接的一端在结束它的发送后还能接收来自另一端数据的能力.这就是所谓下载的半关闭.正如我们早些时候提到的只有很少的应用程序使用它.为了使用这个特性,编程接口必须为应用程序提供一种方式来说 ...

  2. 图像Image类、打印Printing相关

    一.Images 1.概述 Image 类为Bitmap(位图) 和 Metafile(矢量图) 的类提供功能的抽象基类.Image类不能直接创建对象的,但Image.FromFile()返回的是Bi ...

  3. node.js通过回调函数获取异步函数的返回结果

    html文件代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  4. C# 重写IComparer 接口

    首先定义比较类 继承自IComparer<Racer> public class RacerComparer : IComparer<Racer> { public enum ...

  5. 5、组件注册-@Scope-设置组件作用域

    5.组件注册-@Scope-设置组件作用域 IOC容器默认都是单实例的 /** * * {@link ConfigurableBeanFactory#SCOPE_SINGLETON SCOPE_SIN ...

  6. Python 2--序列

  7. CF915E 动态开线段树

    CF915E 动态开线段树 题面 因为\(n\le10^9\),所以动态开点,线段树维护\([1,n]\)天非工作日数量. 之前的结构体写法被卡了,只能改成函数传l,r(虽然也不难) 动态开点好写,但 ...

  8. qt5 + vs2015自定义控件错误:undefend interface

    控件中编译时因为是把所有的单个控件集成到一个lib中,所以会引用#include<QDesignerCustomWidgetInterface>以及#include<QDesigne ...

  9. 【概率论】3-7:多变量分布(Multivariate Distributions Part I)

    title: [概率论]3-7:多变量分布(Multivariate Distributions Part I) categories: Mathematic Probability keywords ...

  10. html2canvas原理

    html2canvas有2种模式,一种是利用foreignObject,一种是纯canvas绘制 1.foreignObject到canvas 步骤: 1.把要截图的dom克隆一份,过程中把getCo ...