Flutter
哈尔滨的酸柠檬
掌握iOS、MacOS、Flutter、PHP、前端、微信小程序开发技术,正在学习嵌入式开发知识
展开
-
Flutter开发笔记18 Flutter intl插件实现多语言
项目demo地址:GitHub - LINGLemon/lxf_flutter_demo1、安装Flutter intl插件菜单点击 Android Studio -》 Preferences搜索安装后重启。2、yaml文件添加flutter_localizations依赖dependencies: flutter: sdk: flutter flutter_localizations: sdk: flutter3、菜单点击Tools -》 ..原创 2021-11-03 13:40:41 · 2194 阅读 · 0 评论 -
Mac Android Studio Arctic Fox 2020.3.1升级后flutter项目适配
Mac电脑升级Android Studio Arctic Fox 2020.3.1版本后,flutter项目执行发现错误:* What went wrong:Execution failed for task ':app:processDebugMainManifest'.> Unable to make field private final java.lang.String java.io.File.path accessible: module java.base does not "o原创 2021-09-06 13:54:32 · 914 阅读 · 0 评论 -
Android Flutter插件 导入本地aar依赖包
1、在插件的android目录下创建libs目录并导入arr文件2、给插件的android目录下的build.gradle文件添加如下内容原创 2021-08-06 10:50:56 · 2063 阅读 · 1 评论 -
2021 CocoaPods 第一次“pod install” 慢
iOS-第一次安装cocoapods很慢或出错怎么办?appledeiMac: jz$ pod installAnalyzing dependenciesCloning spec repo `cocoapods` from `https://github.com/CocoaPods/Specs.git`[!] Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `cocoapods`.原创 2021-08-04 16:22:43 · 907 阅读 · 0 评论 -
2021 Cocoapods的简单安装、使用与更新版本(含M1安装方法)
Cocoapods的作用1 管理第三方框架2 自动下载第三方框架,而且会自动帮我们配置,不需要添加额外的第三方框架或者是动态库之类当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比较特殊的情况。原创 2016-05-10 15:17:44 · 6873 阅读 · 0 评论 -
Mac AndroidStudio 无线调试设备
设置adb的环境变量:1、先说下adb配置.bash_profile1)打开终端,输入:open .bash_profile 意思: 打开 .bash_profile文件(如果无,则自动新建)2)如果已经有了,输入:open .bash_profile -e 意思:打开并编辑 该文件3)在.bash_profile中输入: export PATH=/.../Library/Android/sdk/platform-tools/:$PATH4)输入命令:s...原创 2021-08-02 10:21:16 · 672 阅读 · 0 评论 -
解决Flutter Android debug报错:Unexpected end of file from server
整理一下解决方案。1.Android Studio项目中会有一个文件:项目名称\gradle\wrapper\gradle-wrapper.properties,里面的distribution链接中会带有版本,这个就是启动Android Studio之后会自动更新的版本,比如:distributionUrl=https://services.gradle.org/distributions/gradle-6.7-all.zip所以当遇到更新失败,大家就需要先在网上下载对应版本的gradle文件.原创 2021-08-02 09:45:24 · 871 阅读 · 0 评论 -
【Flutter 混合开发】添加 Flutter 到 iOS
Flutter 混合开发系列 包含如下:嵌入原生View-Android 嵌入原生View-iOS 与原生通信-MethodChannel 与原生通信-BasicMessageChannel 与原生通信-EventChannel 添加 Flutter 到 Android Activity 添加 Flutter 到 Android Fragment 添加 Flutter 到 iOS每个工作日分享一篇,欢迎关注、点赞及转发。Flutter 可以作为 frameworks 添加到 iO.转载 2020-12-28 18:27:32 · 374 阅读 · 0 评论 -
brew安装
brew 是MacOS上的包管理工具,可以简化 macOS 和 Linux 操作系统上软件的安装。1.确认安装rubybrew是ruby开发的,需要确认ruby是否已安装,默认是已经安装的。$ which ruby$ruby --version2.安装(较慢)执行命令:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"安装过程中需要输入一次用户密转载 2020-10-19 16:34:53 · 588 阅读 · 0 评论 -
Flutter SDK升级步骤 已更新至v2.5.1
公司项目要求升级到1.17.5,使用flutter channel stable切换channel到stable之后,执行flutter version v1.17.5,被告知没有找到该版本。执行flutter version,没有发现有1.17.5。cd 到 flutter sdk的目录,执行git fetch --all --tags --progress,发现1.17.5再执行flutter version v1.17.5 试试,如果再不行则执行git checkout 1.1原创 2020-08-20 09:58:04 · 1552 阅读 · 3 评论 -
Flutter 点击拖拽收回键盘
///移除键盘核心代码FocusScope.of(context).requestFocus(new FocusNode());创建dart文件,并添加如下类。在需要点击或者拖拽的view外面嵌入如下类,触发相关方法的时候就可以收回键盘//点击收回键盘import 'package:flutter/material.dart';class TouchHideKeyBoard e...原创 2019-08-15 18:02:27 · 2213 阅读 · 1 评论 -
iOS 系统分享 UIActivityViewController
1、创建其分享的标题,内容或图片或链接NSString *testToShare = @"分享的标题";UIImage *imageToShare = [UIImage imageNamed:@"client"];NSURL *urlToShare = [NSURL URLWithString:@"http://www.baidu.com"];NSArray *activityI...原创 2019-08-09 14:31:58 · 370 阅读 · 0 评论 -
iOS UIView同时设置圆角和阴影
因为圆角和阴影不能同时设置,所以给原来的view添加一个shadow container view。/** * 周边加阴影,并且同时圆角 */+ (UIView *)addShadowToView:(UIView *)view withOpacity:(float)shadowOpacity shadowRadius:(CGFloat)shadowRadius andCornerRa...原创 2019-08-09 09:52:20 · 3061 阅读 · 0 评论 -
iOS 自定义转场动画 - present/dismiss转场动画改为push/pop的样式
直接上代码!1、准备工作:默认的ViewController类,和创建要present到的下一级控制器SecondViewController类。默认创建,不添加其他操作,可以自己改改背景色做区分。2、实现present动画:这里演示的动画类似原生的push和pop动画,present时界面由右向左覆盖上一级界面,dismiss相反过程。2.1、创建一个继承自NSObject的类LX...原创 2019-07-16 10:32:00 · 2431 阅读 · 0 评论 -
iOS Flutter插件 导入第三方Framework和添加自定义Assets
场景:当使用Flutter开发Package&Plugins时,若需要导入第三方Framework,此时就相当于Pod该Framework(iOS环境下)。1.Flutter 创建Plugins之后,包名如 flutter_plugin_indoor_map,先用Android Studio打开 flutter_plugin_indoor_map 项目,并运行。2.将第三方库在fi...原创 2019-07-11 14:56:16 · 9075 阅读 · 5 评论 -
iOS TouchID/FaceID 开发
创建LXFAuthentication类的.h和.m文件,继承自LAContext.h代码如下://// LXFAuthentication.h// Test//// Created by 凌煊峰 on 2019/6/21.// Copyright © 2019 凌煊峰. All rights reserved.//#import <LocalAuthent...原创 2019-06-21 15:21:21 · 1573 阅读 · 0 评论 -
Flutter开发笔记18 - iOS通过FlutterEventChannel发送消息给Flutter
主要逻辑:Flutter端 EventChannel监听Native传来的消息 Native通过创建EventChannel,给Flutter层发送消息代码梳理1、Flutter端创建EventChannel进行监听 EventChannel eventChannel = EventChannel("App/Event/Channel", const StandardMetho...原创 2019-05-27 11:53:22 · 8684 阅读 · 9 评论 -
iOS 获取WKWebView屏幕显示内容的截图
- (UIImage *)createImageWithView:(UIView *)view { CGSize s = view.bounds.size; UIGraphicsBeginImageContextWithOptions(s, YES,[UIScreen mainScreen].scale); [view.layer renderInContext:U...原创 2019-05-22 13:35:16 · 1790 阅读 · 0 评论 -
Flutter开发笔记17 - 全屏幕与折叠屏适配指南
全屏幕特点,及存在的问题全面屏手机的特点:大、屏占比高、长宽比达到了19.5:9甚至更高; 短点的像素、density的取值都是一样的,所以需要适配的是长。问题:传统布局的高度不足,导致上下留黑边; 基于屏幕顶部和底部的布局,如弹框,在全面屏上显示会发生位移; 安全区域的问题。适配要点顶部NavigationBar的上面和底部NavigationBar的下面要预...原创 2019-04-29 11:16:24 · 1792 阅读 · 0 评论 -
Flutter开发笔记01 - 环境搭建(Mac,含M1解决方案)
苹果M1笔记本打开终端前需:打开Finder-> 打开应用程序->打开实用工具,找到终端.app,显示简介,把使用 Rosetta打开勾选上,然后重启终端一、Flutter SDK 下载在Flutter官网下载安装包,转到对应环境的下载页:安装和环境配置 | Flutter 中文文档 | Flutter 中文开发者网站注意:下载后,自行解压;推荐路径为:/Users/用户名/flutter镜像使用:由于在国内访问Flutter有时可能会受到限制,Flutter官方为中原创 2019-04-01 13:43:49 · 1422 阅读 · 0 评论 -
Flutter开发笔记02 - Flutter默认项目初试与main.dart中状态管理解析
一、二章节是重点GitHub Demo 地址:https://github.com/LINGLemon/lxf_flutter_demo一、什么是StatelessWidget?Flutter中的StatelessWidget是一个不需要状态更改的widget - 它没有要管理的内部状态。当您描述的用户界面部分不依赖于对象本身中的配置信息以及widget的BuildContext 时,无状态widget非常有用。AboutDialog,CircleAvator和Text都是S...原创 2019-04-02 22:09:59 · 3373 阅读 · 0 评论 -
Flutter开发笔记03 - 网络图片缓存plugin
GitHub Demo 地址:https://github.com/LINGLemon/lxf_flutter_demo1、在pubspec.yaml file中添加:dependencies: cached_network_image: ^3.1.02、安装flutter packages get3、引入头文件import 'package:cached_network_image/cached_network_image.dart';4、使用new Cach.原创 2019-04-09 10:33:39 · 1142 阅读 · 0 评论 -
Flutter开发笔记05 - 开发底部导航栏
GitHub Demo 地址:https://github.com/LINGLemon/lxf_flutter_demo这里是使用iOS样式的底部导航栏控件CupertinoTabScaffoldclass MyApp extends StatefulWidget { const MyApp({Key? key}) : super(key: key); @override State<MyApp> createState() => _MyAppState();}.原创 2019-04-12 16:42:31 · 1106 阅读 · 0 评论 -
Flutter开发笔记12 - Flutter包与插件的开发
一、Package简介1、pubspec.yaml2、一个lib文件夹二、Package类型1、package(一般主要是dart的代码)2、plugin(有Flutter、iOS、Android的)三、创建包的方式1、可视化方式(推荐)2、命令行方式自行百度。。。(推荐使用第一种方式简单,按图文点击即可)四、开发Flut...原创 2019-04-16 11:32:55 · 1661 阅读 · 0 评论 -
Flutter开发笔记13 - Flutter集成Bugly插件
最近公司Flutter项目中要求集成监控App崩溃的功能,由于Flutter是一个跨平台中较新的框架,在衡量阿里云、AppCenter、腾讯Bugly的利弊之后,内部决定使用TencentBugly。而在GitHub上也找到了对应的插件,地址如下:腾讯Bugly flutter应用更新统计及异常上报插件,支持Android、iOSgithub地址:https://github.com/cr...原创 2019-04-16 15:36:01 · 6457 阅读 · 0 评论 -
Flutter开发笔记06 - StatelessWidget与其基础组件
GitHub Demo 地址:https://github.com/LINGLemon/lxf_flutter_demo先列举StatelessWidget与其相关的基础组件:其中,Container:容器组件Text:文本组件Icon:icon组件CloseButton/BackButton:返回按钮组件Clip:一个标签组件Divider:分割线组件Card:带有圆角阴影边框的组件AlertDialog:提示框组件...原创 2019-04-13 20:52:37 · 176 阅读 · 0 评论 -
Flutter开发笔记07 - StatefulWidget与其基础组件
GitHub Demo 地址:https://github.com/LINGLemon/lxf_flutter_demo先列举StatelessWidget与其相关的基础组件:MaterialApp:材料设计APP组件,通常用于放在页面根节点Scaffold:有头部bar、底部导航栏、侧边栏、body的界面AppBar:头部barBottomNavigationBar:底部导航栏RefreshIndicator:下拉刷新指示器Image:图片组件TextField..原创 2019-04-13 23:12:56 · 175 阅读 · 0 评论 -
Flutter开发笔记08 - Flutter布局Widget练习
参考另一篇详细widget说明:Flutter开发笔记04 - Flutter_Widget布局控件笔记_酸柠檬的博客-CSDN博客GitHub Demo 地址:https://github.com/LINGLemon/lxf_flutter_demo下面是布局相关组件列表图:Container:容器组件RenderObjectWidget:提供一系列配置,用于约束里面布局的配置SingleChildRenderObjectWidget:单节点布局组件Opa原创 2019-04-14 14:36:12 · 352 阅读 · 0 评论 -
Flutter开发笔记14 - http请求与Future开发
GitHub地址:https://github.com/LINGLemon/FlutterFutureDemo1、需在pubspec.yaml中导入http插件包dependencies: http: ^0.12.0+1然后执行flutter packages get2、test1:future小demo // 1、测试future _test1() { ...原创 2019-04-17 10:51:38 · 1114 阅读 · 0 评论 -
Flutter开发笔记09 - Flutter页面跳转
GitHub Demo 地址:https://github.com/LINGLemon/lxf_flutter_demo1、创建项目2、每个界面必须是Scaffold作为根节点3、可以根据路由名字与否进行页面跳转根节点代码:import 'package:flutter/material.dart';import 'package:flutter_routes_demo/page1.dart';import 'package:flutter_routes_demo/page2.d.原创 2019-04-14 15:40:38 · 215 阅读 · 0 评论 -
Flutter开发笔记10 - 如何检测用户手势与处理事件
GitHub Demo 地址:https://github.com/LINGLemon/lxf_flutter_demo直接上码:包含点击事件,还有拖拽事件import 'package:flutter/material.dart';void main() => runApp(MyApp());class MyApp extends StatelessWidget { // This widget is the root of your application. @ov.原创 2019-04-14 17:20:27 · 414 阅读 · 0 评论 -
Flutter开发笔记11 - 打开第三方APP
https://pub.dartlang.org/中搜索url_launcher原创 2019-04-14 17:38:55 · 1769 阅读 · 0 评论 -
Flutter开发笔记16 - Widget的生命周期
前言和其他的视图框架比如android的Activity一样,flutter中的视图Widget也存在生命周期,生命周期的回调函数提现在了State上面。理解flutter的生命周期,对我们写出一个合理的控件至关重要。组件State的生命周期整理如下图所示:大致可以看成三个阶段初始化(插入渲染树) 状态改变(在渲染树中存在) 销毁(从渲染树种移除)各个函数构造函数这个...转载 2019-04-26 15:06:25 · 461 阅读 · 0 评论 -
Flutter开发笔记15 - Flutter基础-组件通信(父子、兄弟,类似iOS中的NSNotification用法)
博客原文:https://www.jianshu.com/p/25a85c02d586?tdsourcetag=s_pctim_aiomsg上一篇中讲了如何通过父组件给子组件传值: 传送门(方法传参,block回调)这一篇的内容会讲述如何实现:1. 父子组件之间的传值方法2. 兄弟组件之间的传值方法 —— eventbus(类似iOS中的NSNotification用法)实现后...转载 2019-04-17 17:26:00 · 1427 阅读 · 0 评论 -
Flutter开发笔记04 - Flutter_Widget布局控件笔记
GitHub Demo 地址:https://github.com/LINGLemon/lxf_flutter_demo1、StackStack即层叠布局控件,能够将子控件层叠排列。Stack控件的每一个子控件都是定位或不定位,定位的子控件是被Positioned控件包裹的。Stack控件本身包含所有不定位的子控件,其根据alignment定位(默认为左上角)。然后根据定位的子控件的top、right、bottom和left属性将它们放置在Stack控件上。import 'packa.原创 2019-04-12 16:27:51 · 244 阅读 · 0 评论