flutter
文章平均质量分 78
做人要简单
简单的做好自己
展开
-
flutter 怎么实现app整体灰度
今天举国哀悼, 进入各种大厂的app也可以看到主色都变成灰色的了作为程序员我们肯定会想怎么可以实现的, 我简单研究了10分钟, flutter中只要在整体外面套一个ShaderMask, 然后修改blendMode即可核心代码:class MyApp extends StatelessWidget { // This widget is the root of your applicat...原创 2020-04-04 10:31:57 · 1064 阅读 · 0 评论 -
Flutter 插件开发之引入aar到安卓部分 并使用本地maven
本篇主题: 在 flutter 插件中引入 aar本篇只包含 android 部分, iOS 的 framework 直接在 podspec 中引入就可以了,所以本篇略过不表做过安卓开发的朋友可能知道, aar 文件如果作为本地文件直接引入 library, 然后 app 引用 library 是会报找不到aar的, 需要在 app 中使用 flatDir 进行引入, 这种方式的缺点在于, 你...原创 2020-03-30 16:43:00 · 3223 阅读 · 1 评论 -
使用 jsdelivr 加速 cocoapod 库
iOS 开发时, cocoapods(后简称 pod) 是很常用的工具我们偶尔也会自己开发 pod 库并上传到 pod 上pod 的源码支持多种来源, 本地 path git http 等一般来说, 如果是纯开源库, 我们直接把源码上传到 github , 然后使用 git 依赖即可但是这有一个问题, github 的速度在中国大陆并不快, 我们有没有办法加速它呢?这时候经过搜索, js...原创 2020-03-18 14:38:54 · 1090 阅读 · 0 评论 -
关于 ijkplayer 中 Xcode 11编译 openssl 有问题的解决方法
我是没有找到可以通过修改脚本来解决的方法, 百度谷歌, stack overflow, bilibili/ijkplayer的issue 都没有搜到.所以最终,使用Xcode11编译 openssl的时候会有问题, 解决方案就是使用xcode10.3来编译下载xcode 10为了防止遇到以前的xcodeghost事件, 去苹果官网下载旧版本的xcode, https://developer....原创 2020-03-09 14:55:26 · 627 阅读 · 0 评论 -
flutter中的过场动画 PageTransitionsTheme
过场动画过场动画也就是切换路由时的动画这个东西有几种方案可以做继承 PageRoute来做, 复写 5 个抽象方法, 并抽象buildTransitions继承已有的系统类, 比如 MaterialPageRoute 或者 CupertinoPageRoute一劳永逸的方案, 使用PageTransitionsTheme类结合 MaterialApp 的 theme 的pageTran...原创 2020-02-24 21:32:27 · 2131 阅读 · 0 评论 -
Flutter 1.12后 上传aar至maven私服
前言本篇写一个将 flutter 打包为 aar 置入已有项目的方案与前篇不同的是: 本篇使用新版本的 flutter 环境, 使用 build aar 命令构建 aar,并上传至 maven 私服开发环境$ flutter doctor -v[✓] Flutter (Channel stable, v1.12.13+hotfix.7, on Mac OS X 10.15 19A602,...原创 2020-02-06 20:51:26 · 2613 阅读 · 10 评论 -
在 flutter 上使用 c 代码 - (二) 无源码的项目
写在前面, 对于无源码的项目, 理论上必须有头文件,不然你不知道里面都定义了什么鬼东西.本篇虽然是写无源码的项目, 但实际上还是会有源码部分, 只是通过 cmake,clang,xcodebuild,ndk 等工具编译成 so/framework 以供 android/ios 引入生成动态库整体的目录结构是这样的, 如果你只是要引入库, 可以跳过这步, 这步的主要做源码生成库的步骤$ tr...原创 2020-01-20 14:26:02 · 1061 阅读 · 1 评论 -
Flutter 插件报 Couldn't read file LocalFile: "XXX/XXXX.kt" even though it exists!
这个问题由于没有搜到中文解释, 英文解释大部分也不太到位, 我就写了这个blog给有需要切爱用搜索引擎的朋友一个提示原因这个我曾经跟随过flutter的源码, 这个是由于某个版本中 flutter sdk的 flutter_tool的源码变动导致的sdk源码flutter_tools只会在java文件夹中找java, kotlin文件中找kt文件, 属于约定式修改但早期的插件中, kot...原创 2019-12-13 11:08:36 · 2118 阅读 · 0 评论 -
在 flutter 上使用 c 代码 - (一) 有源码的项目
在 flutter 的 1.10.x 后的分支, dart:ffi 被并入 flutter, 现在 flutter 中也可以使用 ffi 了。这东西是啥玩意呢, 就是让 dart 可以直接调用 c/c++ 代码等东西的库, FFI(foreign function interface), 官方文档在这里。但是在当前版本中, 这东西在官方说明中依然处于技术预览版, 就是可用, 但后续不保证 ap...原创 2019-11-04 16:58:57 · 4992 阅读 · 0 评论 -
flutter toast插件 OKToast的介绍
OKToast 是一款 在 flutter 上 使用的 toast 插件使用简单, 可定制性强, 纯 flutter, 调用不用 context文章目录安装使用在代码中定义 OKToast 组件调用文本 toast自定义 widget简单的 toast 实现进阶使用隐藏已出现的 toast隐藏所有的 toast隐藏单独的 toast自定义属性和 fluttertoast 的对比本文完整的 ma...原创 2019-04-18 13:25:19 · 14270 阅读 · 1 评论 -
Flutter dialog (2) - showGeneralDialog的使用
上篇文章说了 showDialog 方法的使用但是这个方法有很多东西是固定的比如背景颜色,转换的时长和样式等等,很多东西你很难去自定义本篇我使用另一个方法showGeneralDialog来做一些自定义准备工作同上一章一样,定义一个通用方法Widget buildButton( String text, Function onPressed, { Color color =...原创 2019-03-29 13:58:44 · 8506 阅读 · 2 评论 -
Flutter flutter.gradle 简单分析
所有的分析基于当前的 1.4.7 版本,flutter sdk 的版本更新可能会修改这个文件Flutter 1.4.7 • channel dev • https://github.com/flutter/flutter.gitFramework • revision 1bfa2f2311 (3 days ago) • 2019-03-29 10:05:18 -0700Engine • re...原创 2019-04-01 13:46:59 · 4712 阅读 · 1 评论 -
Flutter 版本更新内容查看
分支对比rss 订阅后记分支与很多项目不同, flutter 使用 master 作为开发分支而不是发布分支flutter 有几个主要的 branch:master: 主分支,开发分支dev: 发布第二快的分支, 每次的版本更新会优先发布到这个频道来, 主要给 flutter 尝鲜开发者使用beta: 测试分支, 这个分支更新相对缓慢stable: 可以在生产环境使用的, ...原创 2019-04-10 14:15:49 · 9384 阅读 · 0 评论 -
Flutter dialog (1) - showDialog的讲解
在应用开发中,或多或少都会遇到需要弹框的问题, 比如:需要用户确认,需要输入一些信息等等的问题,这就要用到 dialog 相关的概念了而在 flutter 中,所有可以看见的都是 Widget,dialog 也不例外不过和 android 或 iOS 中不同的一点是,Flutter 中 dialog 不是一个单独的类,而是一个可以由你自定义的 Widget写在前面首先为了方便,我定义了一个...原创 2019-03-27 15:24:34 · 31687 阅读 · 3 评论 -
flutter取消动态字体大小
如果接触过原生开发的朋友可能知道最初几年官方推荐使用 sp 作为字体大小的单位,但是事实上经过长时间实践的情况下,大家都开始逐渐使用 dp 作为单位这样使用者调整系统字体大小,app 中的文字大小就不会收到影响,出现错误等情况flutter 中修改iOS 中叫动态字体大小,对应辅助功能中的字体大小android 中叫字体大小当你开发完成,又遇到用户修改系统字体大小导致某些地方错位,...原创 2019-03-13 14:13:14 · 4230 阅读 · 1 评论 -
把flutter项目作为aar添加到已有的Android工程上
对于已有工程想要尝鲜 Flutter, 很多公司给出了最佳实践方案, android 中是使用 aar 加入项目中, 这样原生开发对于 flutter 环境就没有要求了, 只要 flutter 打包后上传 maven 即可, 但是这部分的过程坑很多, 后面我会再补充这种方案我也摸索了一个实践方案, 将所有项目的 aar 由 flutter 方打包 aar 后统一使用一个 module 引入所有 ...原创 2019-06-16 18:40:38 · 5014 阅读 · 0 评论 -
Migrating to AndroidX (迁移至androidX)
无论在 android 开发中 还是 flutter 开发中,都会面临迁移 AndroidX 的问题官方有一个说明,可以参考链接下面是我总结的修改方式迁移到 androidX修改 andorid 目录下的 app/build.gradleandroid{ compileSdkVersion 28}使用了 gradle wrapper如果 andorid 根目录下有这个文件夹/...原创 2019-03-06 13:54:15 · 1884 阅读 · 2 评论 -
Flutter Web 评测第一篇
最近 2019 的 google io 大会开始了,之前的"蜂鸟"引擎也在 flutter 官网中出现了, 不过这次改了个名字叫 flutter-web具体的使用步骤参考项目 readme 中的方式来使用文章目录构建项目运行项目简单运行测试交互文本输入图片网络图片本地资源文件内存图片滚动控件日志几个问题需要注意数字的类型dart:io 的问题插件的使用打包查看一下 html 结构后记构建项目...原创 2019-05-08 15:22:28 · 5173 阅读 · 3 评论 -
dart 2.3的变更,语法糖
在最近两天 dart 更新到了 2.3 的稳定版增加了一些语法糖,对于开发 flutter 来说会更加的友好可以查看 medium当然,本篇不是翻译,只是对于新语法做一个简单的尝试…语法这个语法很眼熟,在 js 中有类似的语法,其他语言可能也有什么意思呢看下面的代码main(List<String> arguments) { list3Point();}voi...原创 2019-05-09 16:55:05 · 1241 阅读 · 0 评论 -
flutter 在OC工程中添加swift库报错的问题
下午看见群里有人问 swift 插件导入 oc 项目报错的问题, 我之前解决过, 但是忘了解决过程是怎么样的了, 这里记录下方便以后备查没兴趣追踪原因的直接查看"总结下"章节文章目录复现错误尝试解决总结下后记复现错误创建一个主工程(oc)flutter create oc_project创建一个插件工程(swift)cd oc_projectflutter create ...原创 2019-05-31 16:43:30 · 7915 阅读 · 4 评论 -
把flutter作为framework添加到已存在的iOS中
之前写了一篇关于如何将 flutter 直接打包成 android aar 的文章, 本篇写一写如何将 flutter 打包成 framework 以便于直接让没有 flutter 环境的 iOS 开发者使用, 因为国内很多项目都有这样的要求本篇并不会做完全的工程集成化, 只是做一下如何将 flutter 的 framework 打出来, 并且置入到 iOS 原生工程中, 因为各项目一定户会有自...原创 2019-06-16 18:36:10 · 5493 阅读 · 1 评论 -
Flutter Desktop Mac版(一) 初探
随着时间的逐渐推移, Flutter 开始了扩张之路flutter 已经不满足于移动端了,桌面端也有着自己的野心但无论如何,目前 flutter desktop 还仅仅处于 demo 玩一玩的阶段, 如果谁敢生产项目来一套, 我佩服你是个勇士文章目录官方说明创建项目打开项目包控件测试输入无限滚动图片库的使用修改 yaml修改代码查看界面粗略分析插件目录创建插件后记官方说明https:/...原创 2019-06-17 09:43:13 · 2960 阅读 · 0 评论 -
Flutter Desktop Mac版(二) 插件初探
上篇粗略的查看了一下 desktop 的基本使用, 本篇探索一下插件的使用环境变量的配置请查看上篇,本篇不再赘述更新继上一篇文章过去了几天, 这个桌面引擎有了一点点的更改: 现在完全用 swift 了,不用 oc 了,无论是 example 还是 plugin 模板都是如此所以, 为了省事,我重新 clone 了一个仓库, 然后准备用 swift 来创建插件$ git clone htt...原创 2019-06-17 09:44:43 · 1359 阅读 · 0 评论 -
Go Flutter Desktop (一) 初探
Flutter 在去年的时候就有一个第三方的桌面引擎, 是用 golang 开发的Github 地址是:https://github.com/go-flutter-desktop/go-flutter目前在 mac,linux,windows 均可用, 作为一个 mac 用户, 除了 retina 下字显得有点小, 感觉没有单独适配外, 总体感觉是优于官方的 desktop 引擎的另外我是真...原创 2019-07-12 14:12:52 · 15912 阅读 · 4 评论 -
Go Flutter Desktop (二) go 二进制程序打包为 mac app(dmg)
前篇对于 go-flutter 引擎进行了初步的探索, 打包终产物是一个二进制文件配合一些资源文件本篇研究如何将终产物变成一个 app, 进一步变成 dmg, 就和你网上下载的工具一样本篇默认你拥有全套的工具, git xcode flutter go hover文章目录打包出 go 终产物制作 app 文件新建一个文件夹Contents 文件夹Info.plist制作应用图标重命名运行打包...原创 2019-07-12 14:13:56 · 2976 阅读 · 0 评论 -
flutter Form 表单组件的初步解析
在一个正常的应用程序中, 表单是用户交互的很重要的一部分flutter 中你可以自己"绑定"用户的输入数据和 state 中的字段当然, 还有另一个选择, Flutter 内置了 Form 组件给我们使用, 这个组件是 flutter 框架提供出来帮助我们操作表单的一个组件, 应该是官方较为推荐的方案不过 Form 的相关中文文章不太多, 基本都是介绍一下 TextFormField 的使用...原创 2019-07-23 08:26:18 · 1518 阅读 · 0 评论 -
关于flutter android so库兼容性问题
so库说明so库在android中,是使用c/c++代码编译出来的库文件,可以使用ndk调用,就是你在android代码中见到的native方法,具体的实现就在so库中关于so库兼容性问题andorid中或多或少都会引用到第三方库,而很多第三方库中都有so的存在,不论是复制到项目中(如百度地图),或是gradle依赖(如个推)其中都涉及到了so库的相关问题,如果你选择的库是有所有cpu类型...原创 2018-11-07 17:18:28 · 6207 阅读 · 0 评论 -
flutter 新状态管理方案 Provide (一)-使用
开这篇文章是因为看到这个库被托管在google的仓库下,而且说明是被设计出来替代ScopedModel的,而且更加灵活支持Builder模式和StreamBuilder模式,全局,局部都可以内部应该是结合InheritedWidget Notification体系实现的传统的bloc需要在每一个入门级仓库地址添加依赖查看pub-installdependencies: provi...原创 2019-02-21 11:55:12 · 7413 阅读 · 0 评论 -
flutter log4d 日志包的使用
最近闲来无事,撸了一个日志插件,功能很简单在开发机上开启一个服务端然后客户端(不仅是 flutter,而是只要可以使用dart:io就可以)开启远程连接,然后就可以发送日志到服务端了好处这样的好处是,开发机可以实时接收到日志,并且保存到文件中因为我们很多时候会发生日志超出一个长度(好像是 1000 个),然后在 console 中不能完整显示的问题,比如网络网文请求,如果响应的报文不完整...原创 2019-03-05 16:38:31 · 4627 阅读 · 0 评论 -
Pub Global 创建命令行应用程序
前言如果你接触过npm/yarn 应该知道,有一些包可以全局使用,就是安装后可以直接用,比如vue-cli这样的应用,应该是用node开发的在dart中也可以实现类似的功能, 使用pub global就可以了,在连接中有完整的说明也有stagehand这样的应用程序可以直接使用我在这里简单的实战一下,实现一个简单的cli应用程序这个程序没什么多余的功能,就简单的实现输入敲击unix获取时...原创 2019-02-25 15:20:46 · 2018 阅读 · 0 评论 -
Flutter 原生通信 (一) - flutter调用Android
原生通信系列1. Flutter 调用 Android2. Android 通知 Flutter3. Flutter 调用 iOS4. iOS 通知 Flutter项目地址在 flutter 开发中一定会有需要和原生通信的情况第一篇介绍的是 flutter 调用 Android这篇是给刚刚入门或者刚刚接触原生调用的朋友们使用的,老鸟们或者英文强的朋友还是直接看官方文档比较好创建...原创 2019-02-14 16:41:14 · 11740 阅读 · 3 评论 -
Flutter 本人开发的一些开源库
pub 库项目名: flutter_image_compress项目地址: https://pub.dartlang.org/packages/flutter_image_compress简介: 图片压缩项目名: oktoast项目地址: https://github.com/OpenFlutter/flutter_oktoast项目简介: 仿 android toast 纯 flu...原创 2019-02-14 16:39:01 · 2626 阅读 · 6 评论 -
flutter - 点击事件(二) - 给图片增加点击UI效果
上一篇, 介绍了如何便利的构造一个自己的点击控件flutter中 如果给图片外面套InkWell ,你会发现点击的逻辑生效了,但是UI上没反应备注: 图片来源, 违反版权请联系我,删除代码如下import 'package:flutter/material.dart';class ImageTapWidget extends StatefulWidget { final Wid...原创 2018-11-14 14:24:06 · 19242 阅读 · 3 评论 -
flutter - 点击事件(一) - 自定义一个方便的点击控件
android中,所有View都可以直接setOnClickListener, RN中也有TouchableHightlight这样的控件可以直接套在外面,ios中也可以有UIControl 这样的控件可以直接添加点击事件.那么flutter中有吗? 答案自然是有. GestureDetector,InkResponse,InkWell, 包括一些琳琅满目的按钮,比如FlatButton,Mat...原创 2018-11-14 13:29:09 · 21149 阅读 · 1 评论 -
【翻译】flutter的设计哲学( inside flutter)
英文链接来自于flutter官网对应的版本为11月11日版本 连接为github后续如有改动,请以最新的英文版本为准,有翻译不准确的地方请参照英文版本自行理解概述本文档描述了Flutter工具包的内部工作原理,使Flutter的API成为可能。因为Flutter小部件是使用积极的可组合性(aggressive composition)构建的,所以使用Flutter构建的用户界面具有大量...翻译 2018-11-11 16:30:51 · 793 阅读 · 0 评论 -
flutter 一个简单的Route Helper/Navigator Helper
在flutter中 route是一个绕不开,必须面对,且很常用东西Route就是路由,顾名思义,负责你页面间的跳转不想看代码和思路分析的直接copy了拿去用就行 没有啥外部依赖,只需要注意_rootRoute 后面的字符串需要和initialRoute 对应即可路由又分静态和动态路由静态就是不需要传参数的,这样的路由可以直接定义在MaterialApp/WidgetsApp 里这样可以通...原创 2018-11-07 17:17:36 · 791 阅读 · 0 评论 -
flutter 如何自定义一个loadmore / 加载更多
写在前面这类的库在pub上有很多我为什么要自定义呢首先是项目需要,并且这种库普适性高,抽取出来今后复用也方便点另外记录一下编码思路,方便后续查看pub地址 pub国内镜像github使用说明导入说明看这里 或 中文镜像看看构造方法一共5个属性child是ListViewonLoadMore是加载更多时的回调,由外部实现isFinish 加载完成delegate是一个抽...原创 2018-11-07 17:16:23 · 775 阅读 · 0 评论 -
flutter/dart 依赖冲突的解决方案
有时候flutter更新sdk版本后不知道该不该更新有时候pub库更新后和自己的其他类库发生了冲突类似于图上的情况遇到这样的问题应该怎么解决呢我们一步步解决首先,这种依赖一般是pub中引用的,先查看下原作者有没有最新版,也许就解决了呢无奈我们用到的类库是一个5个月没有更新过的类库,看来是指望不上了没关系,我们进pub主页中一般都是有github的,我们点进github中如果真...原创 2018-11-07 17:15:36 · 2100 阅读 · 0 评论 -
flutter/dart 代码 规范 翻译 加自我理解
前言最近看qq群里发的很多代码截图,感觉命名规则/文件命名都不符合规范很多朋友都是从其他语言转向dart/flutter的,深感语言环境还需要大家共同去维护,建议还是规范化代码,这样所有人看着都会舒服恰好dart语言官方有自己的代码规范和相关的说明,在dartlang官网上,英文好的建议阅读原文连接地址 https://www.dartlang.org/guides/language/ef...原创 2018-11-07 17:14:43 · 405 阅读 · 0 评论 -
flutter json解析相关 for json_serializable
以下所有相关来自于当前认知,flutter还在高速发展/dart也在不停更新,后续可能发生变化目前flutter dev版本是0.7.0dart正式版是2.0.0json_serializable版本是1.1.0具体的json解析可以参考这篇 json 连接来自于官网其中介绍了两种方式,第一种是手动解析需要的话可以参考一位大佬写的 在Flutter开发过程中快速生成json解析模板类的...原创 2018-11-07 17:13:38 · 583 阅读 · 0 评论