当前位置: 首页 > news >正文

Flutter开发指南

Flutter开发指南(Android 开发角度)

与Android 的对比

1.Android 的View 与Flutter 的对应关系:

a.在android 中,view 是屏幕显示的基础,比如 button,文本,列表,输入框都是 view。在Flutter 中就对应着 widget
widget 不等于 view。它是一种声明和构建 ui 的方式,
不同:1.widget 和 view 的生命周期是不同的,widget 是不可变的。
如果需要变化,就生命周期终止。任何时候需要变化,flutter 都会创建一个新的实例。 对比来看,Android的 view 就只绘制一次,除非主动调用 invalidate。
2.flutter 的 widget 很轻量,原因是:widget 不是视图,也不直接绘制内容,它只是一个对UI和底层创建真正视图对象的语义描述而已。
3.flutter 支持 material components 库,提供了实现 materail design设计规范的wisgets。也支持 ios 的cupertino widgets 来开发 ios 应用。

2.widgets 怎么更新?

a.在Android 中,view 是可以直接更新的, flutter 不行,因为 flutter 是不可变的,无法更新。
就需要操作 widgets 的状态来做。
就分为了:
1.无状态 widget statelessWidget :
用来做不做改变的 widget 显示:比如一个图标显示的ImageView 从来不会改变,就用 statelessWidget
2.有状态 widget statefulWidget
如果控件是需要被改变的, 就需要 statefulwidget,
比如我们需要根据接口,来对 widget 赋值。 并告诉 widget 的 state 更新了,就会更新。
两种 widget 在行为上一致,每一帧都会重建。可变的 widget:statfulwidget 有一个可以跨帧存储和 state 对象来恢复状态数据。

http://www.lryc.cn/news/359951.html

相关文章:

  • SpringCloud学习笔记万字整理(无广版在博客)
  • c++(七)
  • SQL语言
  • 【PPT】修改新建文本框默认字体
  • 智能办公本如何选择
  • Spark基础:Scala变量与数据类型
  • php 实现:给图片加文字水印,图片水印,压缩图片
  • 免费实现网站HTTPS访问
  • vue3使用vue3-print-nb打印
  • R语言ggplot2包绘制网络地图
  • php获取今天凌晨零点的时间
  • CATIA进阶操作——创成式曲面设计入门(1)线架设计,三维点、直线、平面、曲线
  • thinkphp6中怎么查看ThinkPHP版本号
  • 第十二章 创建Web客户端
  • 调试记录-RK平台用指令开启ADB功能
  • 奇安信_NAC终端安全准入系统(相关问题整理)
  • 在iPhone上恢复已删除的Safari历史记录的最佳方法
  • 【设计模式深度剖析】【7】【结构型】【享元模式】| 以高脚杯重复使用、GUI中的按钮为例说明,并对比Java类库设计加深理解
  • OceanBase 内存研究(OceanBase 3.2.4.5)
  • 麒麟系统 安装xrdp 远程桌面方法记录
  • 解析Java中1000个常用类:SafeVarargs类,你学会了吗?
  • 【数据挖掘】3σ原则识别数据中的异常值(附代码)
  • 人眼是如何看到物体的
  • vue打包时报错文件包过大
  • 预编码算法(个人总结)
  • 【重学C语言】十七、预处理指令
  • SQL注入的危害和原理
  • Unity2D横版摄像机跟随
  • Practicing Version Control
  • 新宏观范式和产业趋势下,纷享销客如何助力企业出海?