摘要:
前言 弹性布局允许子组件按照一定比例来分配父容器空间,Flutter中的弹性布局主要通过Flex和Expanded来配合实现。 Flex Flex组件可以沿着水平或垂直方向排列子组件,如果你知道主轴方向,使用Row或Column会方便一些,因为Row和Column都继承自Flex,参数基本相同,所以 阅读全文
摘要:
前言 所谓线性布局,即指沿水平或垂直方向排布子组件。Flutter中通过Row和Column来实现线性布局,并且它们都继承自弹性布局(Flex)。 接口描述 代码示例 特殊情况 如果Row里面嵌套Row,或者Column里面再嵌套Column,那么只有对最外面的Row或Column会占用尽可能大的空 阅读全文
摘要:
前言 布局类组件都会包含一个或多个子组件,不同的布局类组件对子组件排版(layout)方式不同。 我们知道,Element树才是最终的绘制树,Element树是通过Widget树来创建的(通过Widget.createElement()),Widget其实就是Element的配置数据。 故而,根据W 阅读全文
摘要:
前言 Material 组件库中提供了两种进度指示器:LinearProgressIndicator和CircularProgressIndicator,它们都可以同时用于精确的进度指示和模糊的进度指示。精确进度通常用于任务进度可以计算和预估的情况,比如文件下载;而模糊进度则用户任务进度无法准确获得 阅读全文
摘要:
前言 Material组件库中提供了输入框组件TextField和表单组件Form。 输入框TextField 接口描述 代码示例 代码解读 获取输入内容有两种方式: 定义两个变量,用于保存用户名和密码,然后在onChange触发时,各自保存一下输入内容。 通过controller直接获取。 监听文 阅读全文