weekly_flutter_challenge_6_menu
挑战摘要
本次挑战是重现 Kuenzang Sherub 的两项设计:登录概念和菜单。前者包含一个登录表单,让我学习如何在 Flutter 应用中处理表单。后者要求我使用 3D 变换将登录页面移开,露出菜单。这个应用本身很简单,但让我学到了开发应用非常重要的方面。
在此次挑战应用开发过程中我学到的东西
- 我开始使用 DevTools 来调试布局问题。
- 对于登录页面,我创建了一个带有 TextFormField 的表单,这些字段都经过验证。之前我也用过 TextField。
- 我使用了 Wrap 来在软键盘弹出时正确显示登录页面元素。
- 在开发过程中,我使用 SnackBar 小部件作为测试表单的一种方式。
- 使用带有 Matrix4 的 Transform 小部件,我得以创建登录页面的 3D 变换。
- 通过使用 FocusScope,我将焦点从 TextFormField 移开,从而隐藏了软键盘。
- 使用 ListView 和 ListTile,我能够轻松而漂亮地设置菜单。
- 我还尝试使用带 TextSpan 的 RichText 来混合不同样式的文本。后来这个被移除了。
- 使用 CircleAvatar 来显示菜单中的圆形头像。
原始设计
原始设计包含两个页面

