weekly_flutter_challenge_6_menu

挑战摘要

本次挑战是重现 Kuenzang Sherub 的两项设计:登录概念菜单。前者包含一个登录表单,让我学习如何在 Flutter 应用中处理表单。后者要求我使用 3D 变换将登录页面移开,露出菜单。这个应用本身很简单,但让我学到了开发应用非常重要的方面。

在此次挑战应用开发过程中我学到的东西

  1. 我开始使用 DevTools 来调试布局问题。
  2. 对于登录页面,我创建了一个带有 TextFormField表单,这些字段都经过验证。之前我也用过 TextField
  3. 我使用了 Wrap 来在软键盘弹出时正确显示登录页面元素。
  4. 在开发过程中,我使用 SnackBar 小部件作为测试表单的一种方式。
  5. 使用带有 Matrix4Transform 小部件,我得以创建登录页面的 3D 变换。
  6. 通过使用 FocusScope,我将焦点从 TextFormField 移开,从而隐藏了软键盘。
  7. 使用 ListViewListTile,我能够轻松而漂亮地设置菜单。
  8. 我还尝试使用带 TextSpanRichText 来混合不同样式的文本。后来这个被移除了。
  9. 使用 CircleAvatar 来显示菜单中的圆形头像。

原始设计

原始设计包含两个页面

  1. 应用程序启动时显示的登录页面
  2. 用户登录或向右滑动屏幕时显示的菜单

Original design

挑战结果 – 点击 GIF 查看视频

Challenge result

YouTube 链接

https://youtu.be/I5z-3GufVb4

GitHub

查看 Github