Flutter 常用组件
无状态组件(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 常用组件的更多相关文章
- Flutter常用组件(Widget)解析-ListView
一个可滚动的列表组件 不管在哪,列表组件都尤为重要和常用. 首先来看个例子: import 'package:flutter/material.dart'; void main () => ru ...
- Flutter常用组件(Widget)解析-Container
一个组件它往往包含了一些常见的painting, positioning和sizing这样的小部件. Container相当于我们常用的div,在Flutter中用的非常多,现在来看看Containe ...
- Flutter常用组件(Widget)解析-Text
单一格式的文本. 文本组件是以字符串形式显示的单一格式,这个文本字符串可以是多行显示也可以是单独一行显示,主要取决于你的布局限制. 这样式内容是可选择的,如果你省略了,则会使用文本的默认样式来显示.如 ...
- Flutter常用组件(Widget)解析-Scaffold
实现一个应用基本的布局结构. 举个栗子: import 'package:flutter/material.dart'; void main() => runApp(MyApp()); clas ...
- Flutter常用组件(Widget)解析-Image
显示图片的组件 以下是几种加载图片路径方式: Image.asset 加载asset项目资源中的文件 Image.network 加载网络资源图片,通过url加载 Image.file 加载本地文件中 ...
- Flutter常用插件
Dio Dio是一个强大的Dart Http请求库,支持Restful API.FormData.拦截器.请求取消等操作.视频中将全面学习和使用Dio的操作. Flutter_swiper swipe ...
- flutter Container组件和Text组件
在开始之前,我们先写一个最简单的入口文件: 后面,都是在这个结构的基础上面完成的. 由于Container组件和Text组件都是写在body里面的,所以下面,先将body抽离成一个组件的形式. ...
- Flutter InkWell - Flutter每周一组件
Flutter Inkwell使用详解 该文章属于[Flutter每周一组件]系列,其它组件可以查看该系列下的文章,该系列会不间断更新:所有组件的demo已经上传值Github: https://gi ...
- java基础 常用组件
几个常用组件: 在图形用户界面编程中,我们常常会提供用户登陆界面,比如登陆到会员管理系统,登陆到工资管理系统,仓库管理系统等,如下图我们就会用到: 1. 文本框(JTextField) 2. 密码框( ...
随机推荐
- 二分法:从一个只包含数字的list中查找某个数
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/4/10 19:03 # @Author : MnCu # @Site : # ...
- ln -s /usr/local/jdk1.8.0_201/bin/java /bin/java
ln -s /usr/local/jdk1.8.0_201/bin/java /bin/java
- 关于matlab GUI 的一些总结
最近在 用matlab做一个GUI的用户界面 大多都是百度出来 摸索的学习 总结一下遇到的一些问题和解决方法 一: 在文本框动态显示文本 (保留之前的文本并显示当前文本内容): 在文本框显示文本 基本 ...
- iOS测试-如何指标量化app耗电量和性能XCTest Metrics
对于app端的专项测试,Android端我们可以用adb或者一些三方工具进行(例如itest)进行实时的性能监控,iOS端的话也可以用用一些三方的工具,但是需要嵌入到我们的项目当中,今天来介绍下Xco ...
- postgre-插入数据时的单引号问题
场景: 将一个HTML页面存储到数据库中 问题: HTML页面中既包含单引号也包含双引号 解决办法: 双单引号 INSERT INTO table VALUES ('<html><s ...
- 基于OVS命令的VLAN实现
利用mininet创建如下拓扑,要求支持OpenFlow 1.3协议,主机名.交换机名以及端口对应正确 直接在Open vSwitch下发流表,实现如下连通性要求 h1 -- h4互通 h2 -- h ...
- java课后实验性问题5
课后作业一:字符串加密 程序设计思想: 从键盘获取字符串,将字符串转为字符数组,将每个元素加事前协定的“key”,再转为字符串输出. 程序流程图: 源代码: import java.util.Scan ...
- docker-compose ELK+Filebeat查看docker及容器的日志
我目前所在公司开发团队比较小,为集团下面的工厂开发了一套小的系统,跑在一台CentOS服务器上,服务器搭建了docker环境,安装了docker-compose,但在日志处理方面,暂时没有一个好的方法 ...
- golang list使用 双层 循环 删除 遍历
queue队列: import ( "container/list" "sync" ) type Queue struct { l *list.List m s ...
- linux下添加动态链接库路径、动态库加载等方法
linux下添加动态链接库路径的方法 2017年01月20日 10:08:17 阅读数:5596 Linux共享库路径配置 Linux下找不到共享库文件的典型现象为明明已经安装某个软包(如libn ...