摘要:这篇文章旨在学习如何在现有的Android原生项目上集成Flutter,实现Android与Flutter的混编,文章主体内容分为5部分,如下: Android项目如何集成FlutterModule Flutter视图是如何展示到前台界面的 Flutter与Weex对比 如何进行原生页面跳转到Flutter页面 原生如何与Flutter进行传值通信(以EventChannel为例说明) 接下来我会按照上面列出来的5点,逐一的进行实例讲解说明 阅读全文
posted @ 2019-11-28 15:35 CurtisWgh 阅读 (88) 评论 (0) 编辑
摘要:1.Could not find an option named "androidx". Run 'flutter -h' (or 'flutter -h') for available flutter commands and options. 现象:Android studio工程新建Flutt 阅读全文
posted @ 2019-11-22 11:28 CurtisWgh 阅读 (30) 评论 (5) 编辑
摘要:如需转载,请注明出处:Flutter学习笔记(29)--Flutter如何与native进行通信 前言:在我们开发Flutter项目的时候,难免会遇到需要调用native api或者是其他的情况,这时候就需要处理Flutter与native的通信问题,一般常用的Flutter与native的通信方式 阅读全文
posted @ 2019-10-12 17:01 CurtisWgh 阅读 (294) 评论 (2) 编辑
摘要:如需转载,请注明出处:Flutter学习笔记(28)--使用第三方jar包 1.打开一个Flutter项目,点击编码窗口右上角的Open for Editing in Android Studio,这时候你的Flutter项目会转换成一个Android结构的项目。 2.项目的目录结构选择projec 阅读全文
posted @ 2019-10-12 14:44 CurtisWgh 阅读 (213) 评论 (0) 编辑
摘要:InheritedWidget是Flutter中非常重要的一个功能型组件,它提供了一种数据在widget树中从上到下传递、共享的方式,比如我们在应用的根widget中通过InheritedWidget共享了一个数据,那么我们便可以在任意子widget中来获取该共享的数据。 阅读全文
posted @ 2019-09-26 17:38 CurtisWgh 阅读 (323) 评论 (0) 编辑
摘要:在实际开发中,为了防止用户误触返回按钮导致程序退出,通常会设置为在1秒内连续点击两次才会退出应用程序。Android中一般的处理方式是在onKeyDown方法内做计时处理,当keyCode == KeyEvent.KEYCODE_BACK 且 两次点击返回按钮间隔时间小于1秒则退出应用程序,在Flutter中可以通过WillPopScope来实现拦截返回按钮,并且在其内部做计时处理。 阅读全文
posted @ 2019-09-05 15:50 CurtisWgh 阅读 (296) 评论 (5) 编辑
摘要:如需转载,请注明出处:Flutter学习笔记(25)--ListView实现上拉刷新下拉加载 前面我们有写过ListView的使用:Flutter学习笔记(12)--列表组件,当列表的数据非常多时,需要使用长列表,比如淘宝后台的订单列表,手机通讯录等,这些列表项数据很多,长列表也是使用ListVie 阅读全文
posted @ 2019-08-30 16:33 CurtisWgh 阅读 (475) 评论 (0) 编辑
摘要:在我们实际的项目开发中,经常会遇到页面UI内容过多,导致手机一屏展示不完的情况出现,以Android为例,在Android中遇到这类情况的做法通常就是使用ScrollView将内容包裹起来,如果不做可滑动的处理,Android上的表现为页面的部分内容无法展示,而在Flutter中,如果内容过多无法展示完全,屏幕的边界会给我们一个OVERFLOWED的警告提示,在Flutter中我们通常使用SingleChildScrollView处理滑动,这里需要注意的是,通常SingleChildScrollView只应在期望的内容不会超过屏幕太多时使用,这是因为SingleChildScrollView不支持基于Sliver的延迟实例化模式,所以如果预计视口可能包含超出屏幕尺寸太多的内容时使用SingleChildScrollView将会导致性能差的问题,此时应该使用一些支持Sliver延迟加载的可滚动组件,如ListView。 阅读全文
posted @ 2019-08-27 16:49 CurtisWgh 阅读 (1208) 评论 (0) 编辑
摘要:上一篇梳理了拥有单个子元素布局的Widget,今天来梳理一下拥有多个子元素布局的Widget。 Row Row组件常见属性如下: mainAxisAlignment:主轴的排列方式 crossAxisAlignment:次轴的排列方式 mainAxisSize:主轴应该占据多少空间,取值max为最大,min为最小 children:组件子元素,它的本质是一个List列表 对于Row来说,水平方向是主轴,垂直方向是次轴。 首先来看一下mainAxisAlignment属性值都有哪些 阅读全文
posted @ 2019-08-26 18:11 CurtisWgh 阅读 (199) 评论 (0) 编辑
摘要:入门学习Flutter有一段时间了,Demo用过的Widget也有不少,想着整体的梳理一下,所以今天结合Flutter中文网和书籍梳理一下Widget的使用,首先梳理一下拥有单个子元素的布局Widget。 Container:一个拥有绘制、定位、调整大小的Widget Padding:一个Widget,会给其子Widget添加指定的填充 Center:将其子Widget居中显示在自身内部的Widget Align:一个WIdget,它可以将其子Widget对其,并可以根据子Widget的大小自动调整大小 FittedBox:按自己的大小调整其子Widget的大小和位置 Baseline:根据子项的基准线对它们的位置进行定位的Widget Offstage:一个布局Widget,可以控制其子Widget的显示和隐藏 LimitedBox:一个当其自身不受约束时才限制其大小的盒子 OverflowBox:对其子项施加不同约束的Widget,它可能允许子项溢出父级 SizedBox:一个特 阅读全文
posted @ 2019-08-23 18:29 CurtisWgh 阅读 (143) 评论 (0) 编辑