扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
相对于iOS开发,Flutter的布局更具有灵活性,每个页面设计都不一样,相同页面可选择的布局方式也不一样,如果单纯的说应该如何去布局,我觉得不现实,大家可以参考下 Flutter官方的布局教程 。接下来,笔者,通过项目中的一个页面,来一步一步的拆解布局的流程。整个过程,基本上按照拆解、组件封装、具体布局这三步来的。
成都创新互联2013年开创至今,是专业互联网技术服务公司,拥有项目成都做网站、成都网站制作、成都外贸网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元灞桥做网站,已为上家服务,为灞桥各地企业和个人服务,联系电话:18982081108
根据设计图,可以看出整体可以分成两部分,上面一部分是系统介绍模块,下面一部分是真正的登录内容,因为涉及到叠加,因此考虑用Stack;
系统介绍模块部分:整体也是涉及到叠加,考虑用Stack,分为四部分。最底部渐变色背景用一个contanier,无须指定位置,全视图扩展;载放logo图标在上一层,用Image。最后两个Text同级放在最上层。Image,Text各用Positioned包裹去指定位置。
登录内容模块是最外层是一个Contanier容器,去控制背景色和圆角。然后是一个Column元素,逐行排列。
第一行为Image,
第二行为Text,
第三行可以看成一个小Column,分两块进行布局
第四行可以看成一个小Column,分两块进行布局
第五行可以看作一个TextButton,
第六行可以看作一个Row,分三块进行布局
通过上面这样一步一步的分析后,基本上对大致的布局有了一个了解,最外层的控件大致选对(只要能实现的话,就是复杂度以及效率的问题),然后一步一步的拆解每一行的元素,如果有重复的或者觉得可以封装出来的部分,则进行下一步。
每一行的拆解,大致也是按照这个思路来进行,因此笔者在这里就不做讲解了。
在做到第三第四行的时候,发现这两个很相似,而且设计到一些交互逻辑,笔者就想对第三第四行的这种展示进行封装,觉得今后的布局可能会用到,因此在这一步,可以先把这一块儿抽离出一个控件。利用TextField来实现这种输入操作,具体的实现笔者不再详细的描述了。
经过这一步,整体的规划设计图已经有了,各个组件也都有了,接下来的工作就是组装了。
具体布局设计到一些细节的地方,例如整体Column的居中对齐(crossAxisAlignment)、间隔(Padding或Container包裹,笔者更喜欢用SizedBox占位)、居左居右居中(Align)、点击事件(GestureDetector)以及圆角(BorderRadius)等一些特殊情况。
像第六行row是放在底部的,就可以在第六行前面增加一个Spacer()去填充空白区域。
对文字颜色大小等,可以用TextStyle直接设置。
对于输入框的删除按钮,可以用Offstage这种Flutter特有的控制显示隐藏的控件。
Flutter教程全套 (全网独家)百度网盘免费资源在线学习
链接:
提取码: m9z8
Flutter教程全套 (全网独家)
第一套:Flutter 携程17章全-整理好
第五套:Flutter高仿谷歌翻译项目课程
第四套:两小时掌握Flutter移动App开发视频
第三套:flutter入门到精通全套
第七套:Flutter小实战20个
第六套:仿直聘boss的flutter完整教程
第九套:Flutter跨平台开发
第二套:flutter移动电商实战-技术胖
第八套:Flutter基础教程(基础不好的优先看)
24Flutter的打包.mp4
23静态资源和项目图片的处理.mp4
22页面跳转并返回数据_.mp4
21导航的参数传递和接受-2_.mp4
20导航的参数传递和接受-1.mp4
Flutter 零基础入门实战视频教程 #01 环境搭建 「14:03」
Flutter 零基础入门实战视频教程 #02 Dart 语言 「17:49」
Flutter 零基础入门实战视频教程 #03 建立 Android studio 虚拟设备 「04:12」
Flutter 零基础入门实战视频教程 #04 建立第一个项目 「08:23」
Flutter 零基础入门实战视频教程 #05 安装配置过程中可能遇到的问题(没遇到者可以跳过) 「05:07」
Flutter 零基础入门实战视频教程 #06 运行 iOS 模拟器 「04:07」
Flutter 零基础入门实战视频教程 #07 Flutter 概述 「06:15」
Flutter 零基础入门实战视频教程 #08 Scaffold AppBar 「Pro」「06:50」
Flutter 零基础入门实战视频教程 #09 文档和快捷键 「Pro」「02:36」
Flutter 零基础入门实战视频教程 #10 颜色 Colors 「Pro」「05:47」
Flutter 零基础入门实战视频教程 #11 自定义字体 fonts 「Pro」「05:09」
Flutter 零基础入门实战视频教程 #12 hot reload StatelessWidget 「Pro」「04:56」
Flutter 零基础入门实战视频教程 #13 使用图片 「Pro」「04:59」
Flutter 零基础入门实战视频教程 #14 使用图标 - Icon 「Pro」「01:27」
Flutter 零基础入门实战视频教程 #15 Button 按钮使用指南 「Pro」「04:35」
Flutter 零基础入门实战视频教程 #16 Container 和 Padding 「Pro」「04: 52」
Flutter 零基础入门实战视频教程 #17 Row 「Pro」「05:24」
Flutter 零基础入门实战视频教程 #18 Column 「Pro」「05:36」
Flutter 零基础入门实战视频教程 #19 Flutter Outline Shortcuts 「Pro」「03:18」
Flutter 零基础入门实战视频教程 #20 Expanded Widgets 「Pro」「06:06」
Flutter 零基础入门实战视频教程 #21 实战开始 「Pro」「11:42」
Flutter 零基础入门实战视频教程 #22 换个编辑器 - Visual Studio Code 「Pro」「04:50」
Flutter 零基础入门实战视频教程 #23 Stateful vs Stateless Widget 「Pro」「09:45」
Flutter 零基础入门实战视频教程 #24 列表处理 「Pro」「04:54」
Flutter 零基础入门实战视频教程 #25 自定义 class 「Pro」「05:37」
Flutter 零基础入门实战视频教程 #26 card widget 「Pro」「04:26」
Flutter 零基础入门实战视频教程 #27 Extracting Widgets 「Pro」「06:59」
Flutter 零基础入门实战视频教程 #28 删除 - Functions as Parameters - 完结 - 进入实战课 「Pro」「04:35」
阿里巴巴为大家学习Flutter操碎了心
macos
.bash_profile
执行 flutter doctor
CSSColors ----
some times need fix:
解决办法用命令行:
flutter packages get
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流