Flutter学习简记

StatefulWidget和StatelessWidget

  • StatefulWidget : 具有可变状态的窗口部件,也就是你在使用应用的时候就可以随时变化,比如我们常见的进度条,随着进度不断变化。
  • StatelessWidget:不可变状态窗口部件,也就是你在使用时不可以改变,比如固定的文字(写上后就在那里了,死也不会变了)。

lutter中一切皆widget,这和RN中一切皆组件的思想很类似,因此在学习Flutter中,我们必须首先来了解Flutter的widget.下面先从最基本的MaterialApp和Scaffold开始了解

1 MaterialApp
一个封装了很多Android MD设计所必须要的组件的小部件,一般作为顶层widget使用。

继承关系
Inheritance
Object->Diagnosticable ->DiagnosticableTree ->Widget ->StatefulWidget ->MaterialApp

一般与以下widget一起使用
Scaffold: Material Design布局结构的基本实现。此类提供了用于显示drawer、snackbar和底部sheet的API。
Navigator,用于管理应用程序的页面堆栈。
MaterialPageRoute,它定义以特定于材料的方式转换的应用页面。
WidgetsApp,它定义基本的app元素但不依赖于材质库。

一般来说,在Flutter中,我们如果遵循MD设计时,顶层的Widget一般是MaterialApp,这里面我们可以指定主题样式,以便应用与APP整个页面中

2 Scaffold
Material Design布局结构的基本实现。此类提供了用于显示drawer、snackbar和底部sheet的API。
简单来说,Scanold就是一个提供MD设计中基本布局的widget,包括最上面的appBar,body,以及下部的drawer,snackbar等

继承关系
Object –>Diagnosticable ->DiagnosticableTree ->Widget ->StatefulWidget ->Scaffold

常用元素
appBar 标题栏
backgroundColor 背景色
body 内容区

原文地址:https://www.cnblogs.com/aibabel/p/11385655.html

时间: 2024-10-07 09:28:18

Flutter学习简记的相关文章

Flutter学习资料整合

1.Dart 面向对象语言,与java类比学习 非常适合移动和Web应用程序 1.dart官网 2.Dark2 中文文档 3.Dart语法学习 4.极客学院Dart学习 5.Flutter与Dart 入门 2.Flutter 树形布局,一切皆组件 1.flutter文档 2.flutter中文文档(更新滞后) 3.flutter学习入门: http://jspang.com/archives/ https://juejin.im/user/59ed44cf6fb9a0451c398c45/pos

【flutter学习】基础知识(一)

今天开始学习一下flutter 学习思路:首先由一个简单的例子引出每次学习的对象,一点一点加入元素,针对于代码去了解学习详细知识. 看完本篇博客能够快速的读懂flutter简单代码. flutter Hello Word 这是一个简单的Hello Word 首先引入了material库material是什么,是一个拥有基本样式的库. runApp(runApp是什么)是程序的开始,这个函数需要一个Widget(Widget是什么),习惯叫他组件. 这里传入了一个嵌套的Widget,Center(

bootstarp v3 学习简记

1.快速设置浮动通过这两个class让页面元素左右浮动. !important被用来避免某些问题. <div class="pull-left">...</div><div class="pull-right">...</div> // Classes.pull-left {float: left !important;}.pull-right {float: right !important;} 2.通过添加.lea

flutter学习日志(一)【flutter的安装和环境配置 windows】

首先定他一个小目标: ->->目标:命令行输入 flutter doctor (检测flutter所需环境) 得到下图所示-> ->->目标分解:-> 安装flutter (上图中第一个√ get) 安装jdk 安装android studio 安装android sdk (上图中第二个√ get) 安装dart和flutter插件 (上图中第三个√ get ->->-> 第零步:建立几个空文件夹 1.如下图所示,首先建立文件夹 D:\Flutter2

【Flutter学习】基本组件之文本组件Text

一,概述 文本组件(Text)负责显示文本和定义显示样式, 二,继承关系 Object > Diagnosticable > DiagnosticableTree > Widget > StatelessWidget > Text 三,构造方法 单一格式(Text( )) 构造方法创建,只能生成一种style Text() const Text(this.data, { Key key, this.style, this.textAlign, this.textDirecti

【Flutter学习】基本组件之基本列表Gradview组件

一,概述 数据量很大的时用矩阵方式排列比较清晰,此时用网格列表组件,即为GridView组件,可实现多行多列的应用场景. 使用GridView创建网格列表有多种方式: GridView.count 通过单行展示个数创建GridView. GridView.extend通过最大宽度创建GridView. 二,构造函数 GridView 使用场景:使用自定义SliverGridDelegate创建可滚动的2D小部件数组 构造函数 GridView({Key key, Axis scrollDirec

【Flutter学习】基本组件之基本表单组件

一,概述 表单时一个包含表单元素的区域. 表单元素允许用户输入内容,比如文本域,下拉列表,单选框,复选框等.常见的应用场景有:登录,注册,输入信息等. 表单里有两个重要的组件: Form:用来做整个表单提交使用 TextFormField:用来做用户输入.  正式向服务器提交数据前,都会对各个输入框数据进行合法性校验.但对每个TextField都分别校验很麻烦. 如果想清除一组TextfFiled的内容,一个个清除也很麻烦.所以,Flutter提供了一个Form widget,可以对输入框进行分

【Flutter学习】之动画实现原理浅析(三)

一,概述 Flutter动画库的核心类是Animation对象,它生成指导动画的值,Animation对象指导动画的当前状态(例如,是开始.停止还是向前或者向后移动),但它不知道屏幕上显示的内容.动画类型分为两类: 补简动画(Tween),定义了开始点和结束点.时间线以及定义转换时间和速度的曲线.然后由框架计算如何从开始点过渡到结束点.Tween是一个无状态(stateless)对象,需要begin和end值.Tween的唯一职责就是定义从输入范围到输出范围的映射.输入范围通常为0.0到1.0,

Flutter学习一

包管理 依赖本地包 dependencies: pkg1: path: ../../code/pkg1 依赖git包 dependencies: pkg1: git: url: git://github.com/xxx/pkg1.git 资源管理 指定Assets flutter: assets: - assets/my_icon.png - assets/background.png Asset 变体 在选择匹配设备分辨率图片时,会使用Asset变体 加载 Assets 通过AssetBund