Flutter 设计百科全书 - 引导篇

197 阅读2分钟

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 如何实现白色 和 黑暗主题?如何 复用样式?

主题、样式、颜色篇>

人不可能每一个事情都做得完美无瑕,所以大多数人看完上面五篇文章,应该都是能学到一些知识的,如果有什么不理解,不认同,都可以在评论区 回复讨论。