
#Flutter实践问题收集
编写flutter项目时踩的坑!
LoveShadowing
知道的越多,才知知道的越少。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Flutter开发- iOS 问题CocoaPods not installed or not in valid state
如果你的 Android studio 是安装在应用程序下的,直接执行下图中第一行即可,我的就是下载直接运行的,放在桌面,用 -a ,它可以无论安装在哪个位置。2、已经安装了CocoaPods,还出现了图中的提示,你可能已经猜到是 Android studio 出现了问题,但是常规的关闭再打开的方式无法解决此问题,需使用终端打开。5、安装成功之后,执行 pod install,如果还是报同样的错,执行 1、2、3步骤即可。4.1、建议先更换Ruby 源,换国内的或者清华源,可自行百度如何换 Ruby 源。原创 2023-08-30 15:00:14 · 3404 阅读 · 0 评论 -
flutter引入高德地图,release 版本闪退问题解决
1、检查高德开放平台,查看参数是否正确配置,SHA1 和包名是否正确。配置 SHA1 可参考。前提是在确定了闪退是由于地图引起的之后。代码混淆查看官方链接。原创 2023-08-10 16:15:59 · 1009 阅读 · 0 评论 -
获取 Android 的 SHA1 值
前提要先确定 1、发布版签名文件(一般为 xxx.jks)所在路径 2、确定安装了 java 且环境变量配置成功 3、找到 java 下的 jdk 下的 keytool。原创 2023-08-10 14:58:56 · 3728 阅读 · 0 评论 -
Flutter 报错 Could not create task ‘xxx‘.this and base files have different roots
遇到此问题也是先去百度了,有的说改了Gradle版本、gradle-wrapper.properties版本和ext.kotlin_version版本之后解决的,我没尝试,我用蹩脚的英语大致读了一下就不是这样说的,况且我用有道翻译了也不是这个意思啊,我不知道他们怎么改好的。a、在项目盘符下新建文件夹,正常命名(别整中文和特殊符号,flutter_pub_cache我觉得就不错),然后打开环境变量,新建或编辑系统环境变量,输入PUB_CACHE,然后将你刚才创建的文件路径填进去。原创 2023-08-10 15:26:37 · 4397 阅读 · 2 评论 -
IOS发布:App Store Connect Operation Error。SDK Version Issue.
Xcode上传ipa报错原创 2023-05-31 14:51:13 · 4247 阅读 · 1 评论 -
Flutter升级3.0
原flutter项目升级Flutter3.0。升级flutter sdk和dart sdk原创 2022-06-10 09:59:13 · 10124 阅读 · 2 评论 -
flutter报错Navigator operation requested with a context that does not include a Navigator
此问题一般情况出现在直接在main.dart文件中操作路由。如上情况提示路由控制器需要一个context但是当前navigator并不包含,通俗的讲要使用路由(Navigator),根控件不能直接是 MaterialApp.解决方法:将MaterialApp 内容再使用 StatelessWeight 或 StatefulWeight 包裹一层void main() async{ await setupServiceLocator(); /// 微信、QQ注册 runApp(Mu.原创 2022-03-07 16:14:35 · 4240 阅读 · 0 评论 -
flutter应用安卓商店合规化处理
安卓商店在应用上架时会要求用户清楚并授权之后才可收集用户和设备信息,如mac地址 imei等1、安卓开发者会在application中进行此操作,flutter应用可在main文件中添加授权对话框,flutter的MyApp()可等同看作是应用的application入口。import 'package:flutter/material.dart';void main() => runApp(MyApp());///等同于应用的applicationclass MyApp ex原创 2022-03-07 16:03:04 · 3917 阅读 · 0 评论 -
Flutter获取webview的高度
1、官方插件webview_flutter核心是在 onPageFinished方法中 用js获取高度:var originalHeight = await _webController.runJavascriptReturningResult("document.body.offsetHeight;");注意:也有人说用这个var originalHeight = await _webController!.runJavascriptReturningResult("document.do..原创 2022-02-20 14:37:45 · 5016 阅读 · 0 评论 -
Flutter的webview的滑动及与CustomScrollView嵌套问题
1.webview滑动,只要求web内容可以在特定宽高区域内滑动,使用gestureRecognizers属性;WebView( gestureRecognizers: [Factory(() => EagerGestureRecognizer())].toSet(), javascriptMode: JavascriptMode.unrestricted, onPageFinished: (String url) async {}, gestureNavigat原创 2022-02-20 12:15:38 · 5156 阅读 · 0 评论 -
flutter的Text内容自动换行导致留白问题
flutter的文本内容在中英文混排,或中文与数字或特殊符号或英文字母时,文本会被自动换行,这样会导致,换行后上一行末尾留出很大的空白区域。解决思路:1、把每个字符插入一个0宽的字符, \u{200B}import 'package:characters/characters.dart';class Strings { ///防止文字自动换行 static String autoLineString(String str){ if(checkStrNoEmpty(str)){原创 2022-01-19 11:02:11 · 5912 阅读 · 2 评论 -
Flutter路由A—>B—>C返回 A
A—>B—>C,C操作成功后直接返回ANavigator.of(context)..pop()..pop();原创 2021-11-10 14:53:16 · 2202 阅读 · 0 评论 -
flutter项目用Xcode打开
Android开发,采用flutter开发项目,将项目运行在ios设备上,及打包、发布流程原创 2021-11-06 17:32:06 · 8924 阅读 · 0 评论 -
Flutter — EasyRefresh
场景1body{ Column[ Container(), EasyRefresh( Container( ListView.builder( itemBuilder() ) ), ) ]}a、column中包含easyRefresh,会报错,easyRefresh要用expend包裹住b、用expend包裹后仍不能滑动,要去掉listView外的Container..原创 2021-07-01 17:09:02 · 1066 阅读 · 0 评论 -
Flutter 开发笔记 —— Table
Table的每一行的高度由其内容决定,每一列的宽度由columnWidths属性单独控制。属性:columnWidths:设置每一列的宽度defaultColumnWidth:默认的每一列宽度值,默认情况下均分textDirection:文字方向border:表格边框defaultVerticalAlignment:默认垂直方向对齐方式:textBaseline:defaultVerticalAlignment为baseline的时候,会用到这个属性top:放置在顶部mi原创 2021-02-22 15:02:39 · 1180 阅读 · 0 评论 -
android混合开发—— flutter_boost
集成前确保项目是使用或支持androidX。 —— 来自过来人的建议!!!如果还没有迁移到androidX,过来人也把一些经验分享给你,希望对你有一些帮助开始集成flutter_boost1、引入module, 手动创建,一步一个脚印,自己写a、在Terminal中输入命令行 flutter create -t module flutter_module注意看好你需要存放的位置,可以cd到上一级目录再创建,操作与盘符切换类似b、然后打开你创建的flutter mo...原创 2020-12-23 10:00:43 · 375 阅读 · 0 评论 -
Flutter 开发笔记 —— TextField
1、TextField赋初始值,在创建Controller的即赋值///对应创建TextEditingController for (int i = 0; i < items.length; i++) { _controllerLists .add(TextEditingController(text: items[i].patchNum.toString())); _focusList.add(FocusNod原创 2020-10-28 14:13:54 · 1439 阅读 · 0 评论