无状态组件(StatelessWidget)是不可变的,这意味着它的属性不能改变,所有的值都是最终的。

有状态组件(StatefulWidget)持有的状态可能在Widget生命周期中发生变化。实现一个StatefulWidget至少需要两个类:一个StatefulWidget类,一个State类。StatefulWidget类本身是不变的,但是State类在Widget生命周期中始终存在。

一.容器组件Container:包含一个子Widget,自身具备如alignment、padding等基础属性,方便布局过程中摆放child。

二.图片组件Image:是显示图像的组件,Image组件有多种构造函数:

 new Image: 从ImageProvider获取图像
   new Image.asset: 加载资源图片
   new Image.file: 加载本地图片文件
   new Image.network: 加载网络图片
     new Image.memory: 加载Uint8List资源图片

三.文本组件text:负责显示文本和定义显示样式。

四.图标及按钮组件

1.图标组件Icon:为展示图标的组件,该组件不可交互,要实现可交互的图标,可以考虑使用IconButton组件。组件相关的组件有以下几个:

  IconButton: 可交互的Icon
  Icons: 框架自带Icon集合
  IconTheme: Icon主题
  ImageIcon: 通过AssetImages或者其他图片显示Icon

2.图标按钮组件IconButton:是基于Material Design风格的组件,它可以响应按下事件,并且按下时会带一个水波纹的效果。

 如果它的onPressed回调函数为null,那么这个按钮处于禁用状态,并且不可以按下。

3.凸起按钮组件RaisedButton:是Material Design中的Button,一个凸起的材质矩形按钮,它可以响应按下事件,并且按下时会带一个触摸的效果。

五.列表组件:

1.基础列表组件: ListView组件
2.水平列表组件: 把ListView组件的scrollDirection属性设置为Axis.horizontal即可
3.长列表组件: 使用ListView组件为基础,还需要添加一个列表项构造器itemBuilder。
4.网络列表组件: GridView组件,可以实现多行多列的应用场景。

六.表单组件

表单是一个包含表单元素的区域。表单元素允许用户输入内容,比如:文本域、下拉列表、单选框、复选框等。

表单里有两个重要的组件,一个是Form组件用来做整个表单提交使用的,另一个是TextFormField组件,用来做用户输入的。

七.Material Design风格组件:

1.App结构和导航组件:

MaterialApp 应用组件
Scaffold 脚手架组件
AppBar 应用按钮组件
BottomNavigationBar 底部导航条组件
TabBar 水平选项卡及视图组件
Drawer 抽屉组件

2.按钮和提示组件.

FloatingActionButton 悬停按钮组件
FlatButton 扁平按钮组件
PopupMenuButton 弹出菜单组件
SimpleDialog 简单对话框组件
AlertDialog 提示对话框组件
SnackBar 轻量提示组件

3.其他组件

TextField 文本框组件
Card 卡片组件

八.Cupertino风格组件:

1.CupertinoActivityIndicator组件
2.CupertinoAlertDialog对话框组件
3.CupertinoButton按钮组件
4.Cupertino导航组件集

Flutter 常用组件的更多相关文章

  1. Flutter常用组件(Widget)解析-ListView

    一个可滚动的列表组件 不管在哪,列表组件都尤为重要和常用. 首先来看个例子: import 'package:flutter/material.dart'; void main () => ru ...

  2. Flutter常用组件(Widget)解析-Container

    一个组件它往往包含了一些常见的painting, positioning和sizing这样的小部件. Container相当于我们常用的div,在Flutter中用的非常多,现在来看看Containe ...

  3. Flutter常用组件(Widget)解析-Text

    单一格式的文本. 文本组件是以字符串形式显示的单一格式,这个文本字符串可以是多行显示也可以是单独一行显示,主要取决于你的布局限制. 这样式内容是可选择的,如果你省略了,则会使用文本的默认样式来显示.如 ...

  4. Flutter常用组件(Widget)解析-Scaffold

    实现一个应用基本的布局结构. 举个栗子: import 'package:flutter/material.dart'; void main() => runApp(MyApp()); clas ...

  5. Flutter常用组件(Widget)解析-Image

    显示图片的组件 以下是几种加载图片路径方式: Image.asset 加载asset项目资源中的文件 Image.network 加载网络资源图片,通过url加载 Image.file 加载本地文件中 ...

  6. Flutter常用插件

    Dio Dio是一个强大的Dart Http请求库,支持Restful API.FormData.拦截器.请求取消等操作.视频中将全面学习和使用Dio的操作. Flutter_swiper swipe ...

  7. flutter Container组件和Text组件

    在开始之前,我们先写一个最简单的入口文件:     后面,都是在这个结构的基础上面完成的. 由于Container组件和Text组件都是写在body里面的,所以下面,先将body抽离成一个组件的形式. ...

  8. Flutter InkWell - Flutter每周一组件

    Flutter Inkwell使用详解 该文章属于[Flutter每周一组件]系列,其它组件可以查看该系列下的文章,该系列会不间断更新:所有组件的demo已经上传值Github: https://gi ...

  9. java基础 常用组件

    几个常用组件: 在图形用户界面编程中,我们常常会提供用户登陆界面,比如登陆到会员管理系统,登陆到工资管理系统,仓库管理系统等,如下图我们就会用到: 1. 文本框(JTextField) 2. 密码框( ...

随机推荐

  1. springboot的简单了解与使用

    1. Spring Boot 1.1. 什么是Spring Boot 1.2. Spring Boot的优缺点 1.3. 快速入门 1.3.1. 设置spring boot的parent <pa ...

  2. 大数据之路week05--day07(序列化、类加载器、反射、动态代理)

    遇到这个 Java Serializable 序列化这个接口,我们可能会有如下的问题 a,什么叫序列化和反序列化b,作用.为啥要实现这个 Serializable 接口,也就是为啥要序列化c,seri ...

  3. java 基础:方法调用中的值传递是call by value,并且传递的是参数的值的拷贝,而不是引用

    public class TestExtends { public static void main(String[]args){ int s = 10; System.out.println(Sys ...

  4. HTML5游戏2D开发引擎

    1.PixiJS(基于webGl和canvas) 官网:http://www.pixijs.com/ github(star:20672):https://github.com/pixijs/pixi ...

  5. Vuex的mapGetters方法使用报错

    报错信息: ERROR in ./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/selector.js?type=script ...

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

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

  7. csrf简单明了( 转发)

    https://www.daguanren.cc/post/csrf-introduction.html csrf_token = request.META.get('CSRF_COOKIE') re ...

  8. 2019牛客多校D move——乱搞&&思维题

    题意 给定 $n$ 个物品,体积分别为 $v_i$,现有 $K$ 的容积一样的箱子,按如下策略装入物品:每次选取尽可能大的装入(较大的不能装入时可以向小的找),依次装入箱子. 分析 首先,不具有严格的 ...

  9. [JSOI2018]潜入行动 (树形背包)

    题目链接 题意: 外星人的母舰可以看成是一棵 n 个节点. n−1 条边的无向树,树上的节点用 1,2,⋯,n 编号.JYY 的特工已经装备了隐形模块,可以在外星人母舰中不受限制地活动,可以神不知鬼不 ...

  10. 001_Python安装

    1. 判断电脑是否已经安装python,电脑->运行->输入:python 2. 如果没有安装,去官网下载:https://www.python.org/downloads/ 3. 安装过 ...