1.官方介绍
Flutter是谷歌的移动UI框架,可以在iOS和Android上快速构建高质量的原生用户界面。
官方介绍:
毫秒级热过载。修改后,您的应用程序界面将立即更新。利用丰富且完全可定制的小部件,在几分钟内构建一个本机界面。
富有表现力和灵活性的用户界面:快速发布专注于本地体验的功能。分层架构允许您完全定制,从而实现令人难以置信的快速渲染和富有表现力的灵活设计
原生性能:Flutter包含很多核心widget,如滚动、导航、图标、字体等,可以达到与iOS、Android上原生应用相同的性能。
2.安装环境
①下载FlutterSDK:
https://github.com/flutter/flutter/releases
②配置vscode编辑器:
https://flutterchina.club/get-started/editor/#vscode
附件:vs下载地址
③用③vscode命令运行flutter doctor会提示您设置flutterSDK路径(如果遇到权限问题,需要使用sudochow命令,如果遇到不存在的文件夹,需要手动创建相应的文件夹)
④建立第一个颤振程序:
创建程序:vs code->:View->;命令:启动新项目运行程序:调试->:开始调试
注意:如果遇到多个命令产生错误和cocoapods导入问题,尝试修改构建系统:在Xcode菜单栏-->:File-->;工作区设置,将构建系统修改为旧的构建系统,然后进行清理和编译。
⑤你好世界!:
void main() = >runApp(中(子:文字)(“你好,世界!”,text direction:text direction . ltr));
Pubspec格式简介:
https://www.dartlang.org/tools/pub/pubspec
3.Widget简介
官方布局介绍:https://flutterchina.club/tutorials/layout/
链接:
https://flutterchina.club/widgets-intro/
基本小部件:
MaterialApp:这个小部件在应用程序的根创建了一些有用的小部件,包括一个导航器,它管理由字符串标识的小部件堆栈(即页面路由堆栈)。导航器可以使您的应用程序在页面之间平滑过渡。
脚手架:实现了MaterialDesign的布局Widget。这个类提供了tabbar、navigationBar、bottomSheets等等。
行、列:这些空之间的灵活布局小部件允许您在水平(行)和垂直(列)方向创建灵活的布局。其设计基于web开发中的Flexbox布局模型。
Stack:代替LinearLayout(翻译器:类似于Android中的线性布局),Stack允许子小部件被堆叠,你可以使用possed来定位它们相对于Stack的顶部、底部、左侧和右侧的位置。Stacks是基于Web开发中的绝对定位布局模型设计的。
容器:容器允许您创建矩形可视元素。容器可以装饰为盒子装饰,如背景、边框或阴影。容器还可以对其大小应用边距、填充和约束。另外,Container可以用矩阵进行三维变换空。
当然,还有其他常用的小部件没有一一列出,如考试:填充、图像和剪辑...
https://flutterchina.club/widgets/
但有必要说:Cupertino系列Widgets是基于iOS设计语言的widget风格
4.生气
官方详细信息:
https://flutterchina.club/animations/
个人总结:
颤振动画不同于iOS动画,一个块执行一个动画
颤振动画的核心类别是:
动画控制器:控制动画的开始、暂停和结束。它不在乎我正在执行什么动画
动画:这是一个抽象类,决定了动画的数据和变化模式。您可以通过添加侦听器来监控其值的变化。初始化时,需要一个AnimationController;
开始动画制作过程:
①animationcontroller . forward();//开始动画
②Animation.value改变,执行Animation.notifyListener()
③监控功能执行设置状态()
④子Widget根据动画的值进行布局
总结:就是根据动画的变化不断设置State()。Flutter的动画不关心Widget的布局,只提供动画的数据模型
5.界面跳转
使用导航器和路线。路线是应用程序中“屏幕”或“页面”的抽象,导航器是管理多条路线的小部件。您可以大致将一条路线映射到一个UIViewController。Navigator的工作原理与iOS中的UINavigationController非常相似。当您想要跳转到新页面或从新页面返回时,它可以推送()和弹出()。
以两种方式跳转:
△建立路由表
void main(){ RunApp(material app(home:Myapp home(),//成为名为'/'的路由
路线:& lt字符串,WidgetBuilder & gt{ '/a ':(BuildContext context)= & gt;MyPage(title: 'page A '),'/b ':(build context context)= & gt;MyPage(title: 'page B '),'/c ':(build context context)= & gt;我的页面(标题:“C页”),
},
));
}//跳转到导航器。(上下文)的。push named('/b ');
△直接通过小部件创建路线
Navigator.push(context,new MaterialPageRoute(
构建器:(BuildContext上下文)= >;新的FTShareHomePage主页(标题:“ShareSDK Flutter Bridge”),
//全屏对话框:true,
));
△数据返回
//比如推送至位置选择界面地图坐标= awaitnavigator.of (context)。push named('/location ');//用户选择了弹出导航器的位置。pop ({"lat": 43.821757," long"/>
[ShareSDK]轻松实现功能强大的社交分享
【SMSSDK】快速整合短信验证,连接通讯录社交圈
[MobLink]打破App孤岛,实现Web与App的无缝链接
[移动推送]快速集成推送服务,以应对不同的推送场景
【AnalySDK】精准行为分析+多维数据模型+匹配全网标签+垂直行业分析顾问
bbssdk | share EC | mob API | mob pay | shop SDK | mobi m |应用工厂
截至2018年4月,Mob开发人员服务平台覆盖全球超过84亿台设备,SDK下载超过330万次,移动应用超过38万次
1.《widget开发 一个iOS开发者的Flutter“历险记”》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《widget开发 一个iOS开发者的Flutter“历险记”》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guoji/1582896.html