重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

flutter推荐教程,flutter技巧

Flutter开发--如何布局?

相对于iOS开发,Flutter的布局更具有灵活性,每个页面设计都不一样,相同页面可选择的布局方式也不一样,如果单纯的说应该如何去布局,我觉得不现实,大家可以参考下 Flutter官方的布局教程 。接下来,笔者,通过项目中的一个页面,来一步一步的拆解布局的流程。整个过程,基本上按照拆解、组件封装、具体布局这三步来的。

我们提供的服务有:网站设计、成都做网站、微信公众号开发、网站优化、网站认证、富民ssl等。为上1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的富民网站制作公司

根据设计图,可以看出整体可以分成两部分,上面一部分是系统介绍模块,下面一部分是真正的登录内容,因为涉及到叠加,因此考虑用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 零基础入门实战视频教程(28 个视频)

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 入门和教程导航

阿里巴巴为大家学习Flutter操碎了心

macos

.bash_profile

执行 flutter doctor

CSSColors ----

some times need fix:

解决办法用命令行:

flutter packages get

Flutter(六)Android与Flutter混合开发(Hybird)

如果我们目前的项目是Android的,但是接下来我们希望部分页面可以使用Flutter进行开发,甚至我们希望在Native页面中嵌入FlutterUI组件,那么我们该如何实现呢?

假设你现在Android项目的目录的结构是这样的

这时候如果你想创建一个Flutter模块,使得Android模块和Flutter模块之间可以进行交互,我们可以通过Android Studio新建一个Flutter Module,具体过程是:File — New — New Module ,之后选择Flutter Module,指定Project Location的路径为

也就是说,最终你的项目结构会是这样的

接下来在Android Module的 build.gradle 文件中添加flutter依赖

先创建一个Flutter页面

这里比较重要的是 window.defaultRouteName 这个字段,这个字段可以接收从Native传递过来的参数 (下文我们会介绍原生传递参数的方法),也就是说通过这个字段我们就可以进行Flutter页面的路由的分发

我们可以直接在Android的 MainActivity 中启动一个 FlutterActivity ,这里的 initialRoute 方法中传递的参数就对应Flutter层的 window.defaultRouteName

注意:需要在 AndroidManifest.xml 注册 FlutterActivity

自己创建一个 FlutterAppActivity 继承自 FlutterActivity

在 MainActivity 中启动 FlutterAppActivity (另外别忘了在 AndroidManifest.xml 中注册 FlutterAppActivity )

两种启动方式的区别

如果单纯只是想打开一个Flutter页面,两种方式实际上基本没有太大区别,第一种方式也许还会更简单一点。但是,在Flutter开发中,我们往往还需要开发一些Native插件供Flutter调用,如果使用复写 FlutterActivity 的方式更有利于我们在 FlutterActivity 中注册我们的Native插件,所以实际开发中一般推荐使用第二种方式

扩展思考

initialRoute 从名称上看起来是Flutter提供给我们进行Native与Flutter交互的路由跳转的,但是实际上他就是一个字符串,我们不仅仅可以传递一个路由名称,有时候我们也可以通过这个参数传递一串JSON数据,然后在Flutter端进行解析,这样我们就可以通过这个参数做更多的事情

activity_main.xml

FrameLayout 用于承载Flutter组件

MainActivity.java

使用 FragmentManager 将 FlutterFragment 添加到 FrameLayout 容器中

运行结果

上半部分是原生的TextView,下半部分是Flutter的Text组件

本节主要介绍了Native和Flutter之间的页面跳转,以及同一个页面中Native与Flutter组件的组合。接下来会介绍如何编写Android插件与Flutter进行数据交互

Flutter官网: Flutter中文网

对于flutter的了解。这里可以参考官网:  Flutter中文网 ,这里推荐快速入门的人员可以先看《 编写第一个Flutter应用 》和《 Flutter for iOS 开发者 》这两个章节,其他组件的使用可以慢慢了解。熟能生巧嘛,万事不能期望一次就熟练的程度。

iOS采用Flutter官方推荐的 Cocoapods 方式进行集成,这就需要iOS的开发在机器上配置Flutter SDK,SDK安装比较简单,大家可以按照官方教程完成安装设置:  另外,建议花5分钟时间阅读官方的这两段文档,能让你更清晰的了解CAPP集成的原理:

将 Flutter module 集成到 iOS 项目 ,如果时间紧张了解选项A即可。

添加一个 Flutter 页面

求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推荐教程,flutter技巧
本文路径:http://cqcxhl.cn/article/dssoiei.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP