Flutter 设计百科全书
引导篇
本文即不是“权威指南”,也不是什么“科教圣经”,仅是个人理解,如果读者有其他理解,可以在评论区留言讨论。
前言
- 写这个文章的目的,一是备忘录,记录几年来学到的Flutter知识。二是分享给学习Flutter的人。
- 中文网络上搜索Flutter充斥着机器翻译以及Copy,大多数文章没有融入个人理解,初学着实困难,这系列文章会更注重个人理解,以便于学习和记忆。
- 整个设计百科全书系列,我花了几天的时间编写,的确算不上什么特别精良的文章,但是我尽力把自己的理解整理出来,提炼成短短几篇文字,省去了探索边边绕绕的时间,希望能够帮助到某些人。
第一步,学习语法相关的内容
Flutter 如何编写代码,便于同事伙伴直接的交流?
Flutter、Dart 的语法和代码编写规范篇>
第二步,学习布局设计
在Flutter的布局设计规范中,有些需要注意的地方:
- 页面不要使用Column 作为根节点,因为屏幕的高度 可能会 低于预期,导致无法显示,请使用List类型的组件作为根节点组件。
- 如果不能确定组件的高度,那么请不要为它的父节点设置高度
- 图片类型的延迟加载组件,请设置占位体积,不然在它渲染的过程中,画面会产生抖动
- 尽量不要使用double.infinity,正常编写UI,这个属性基本不会遇到。
- 设置ListView的Padding后,会使ListView自带的SafeArea失效,你需要自己实现,或者使用Padding套住ListView实现内边距(不优美)
- 尽量给ListView设置上下内边距,这样界面看起来更舒服。
- 不要滥用SafeArea,因为它会使布局变得复杂,有时候会超出预期,需要谨慎
- 不要滥用shrinkWrap: true,除非你的list列表比较短
- 不要使用Container占位,而是使用SizedBox
- 尽量给组件增加 const (存疑,VS CODE一直警告)
布局规范篇>
第三步,学习按钮和自定义按钮
Flutter有哪些按钮?该怎么用?该如何自自定义按钮?
按钮篇>
第四步,学习脚手架相关的组件
Flutter 如何操纵系统级别的组件,写出好看的效果?
Scaffold、AppBar、AppBarTheme、SafeArea和系统状态栏篇>
第五步,学习主题和样式
Flutter 如何实现白色 和 黑暗主题?如何 复用样式?
主题、样式、颜色篇>
人不可能每一个事情都做得完美无瑕,所以大多数人看完上面五篇文章,应该都是能学到一些知识的,如果有什么不理解,不认同,都可以在评论区 回复讨论。