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. 密码框( ...
随机推荐
- 0006SpringBoot中@Configuration与@Bean联合使用
需求:将某个普通类做为组件注册到容器中,可通过如下办法 1.定义HelloService类 package springboot_test.springboot_test.service; publi ...
- 一款超好用的第三方评论插件--Gittalk
使用GITALK的背景: 1. 最近在做一个基于Java的个人博客系统,已经基本完工了,突然发现怎么没有评论的操作,如果再从头开始从数据库开始写的话,花费的代价有点大,于是乎我就在网上寻找一款适合我的 ...
- yii 查询垃圾分类接口
public function actionGarbage() { // $param = \Yii::$app->request->post('rubbish', ''); // 接收j ...
- select([[data],fn])
select([[data],fn]) 概述 当 textarea 或文本类型的 input 元素中的文本被选择时,会发生 select 事件.大理石平台生产厂 这个函数会调用执行绑定到select事 ...
- seq2seq聊天模型(三)—— attention 模型
注意力seq2seq模型 大部分的seq2seq模型,对所有的输入,一视同仁,同等处理. 但实际上,输出是由输入的各个重点部分产生的. 比如: (举例使用,实际比重不是这样) 对于输出"晚上 ...
- php win/linux/mac 安装redis扩展或者扩展报错 zend_smart_str.h file not found
1 windows 安装reids 扩展 根据phpinfo 查看php信息.在pecl.php.net 下载对应的redis扩展版本,放如扩展目录,在php.ini 配置扩展信息,重启服务 2 li ...
- 解决zabbix的cannot allocate shared memory of size错误
问题状态:zabbix_server 不能启动,系统CentOS 6.7 原因分析:这是因为内核对share memory的限制造成的. 用到如下命令ipcs [-m|l|a],sysctl [-a| ...
- Spring Cloud Gateway(二):Spring Cloud Gateway整合Eureka应用
Spring Cloud Gateway 应用概述 下面的示例启动两个服务:gataway-server 和 user-service 都注册到注册中心 Eureka上,客户端请求后端服务[user- ...
- Babel7知识梳理
Babel7 知识梳理 对 Babel 的配置项的作用不那么了解,是否会影响日常开发呢?老实说,大多情况下没有特别大的影响(毕竟有搜索引擎). 不过呢,还是想更进一步了解下,于是最近认真阅读了 Bab ...
- CF1197A
CF1197A 题意: 定义k阶梯子为两边各一块木板长度至少k+1,中间k块木板至少为1 .问 给你n块木板,最多能搭成几阶的梯子. 解法: 读题两小时,代码五分钟. 考虑贪心,构成梯子的两侧的木棍一 ...