![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
移动开发
文章平均质量分 66
BruceGwo
iOS开发者、flutter开发、Javascript兼有学习Cocos creator游戏开发。积极主动,做好学习规划,探索未知的可能。
展开
-
iOS开发-图片上涂鸦绘制撤销功能
iOS开发-图片上涂鸦绘制撤销功能当我们需要重新在图片上进行绘制涂鸦生成新的图,这里使用到了Graphics中的API功能。Graphics Framework是一套基于C的API框架,使用了Quartz作为绘图引擎。它提供了低级别、轻量级、高保真度的2D渲染。微信搜索小游戏《全民保卫地球》玩玩吧,lets go。原创 2024-07-31 11:08:23 · 488 阅读 · 0 评论 -
iOS开发-UIBezierPath裁剪图片成珠宝形状
iOS开发-UIBezierPath裁剪图片成珠宝形状之前的项目中用到了需要根据指定形状进行裁剪图片。原创 2024-07-30 17:44:09 · 264 阅读 · 1 评论 -
iOS开发-类似微信图片裁剪功能
在裁剪过程中,拖动的时候会有一个RatioSDRatio.h@endSDRatio.mif(self){return 0;@end定义可以拖动的裁剪框,我们需要根据拖动手势UIPanGestureRecognizer来实现。UIPanGestureRecognizer是一种手势识别器,用于识别用户在屏幕上进行的拖动操作。通过该手势识别器,我们可以实现一些拖动相关的交互效果,比如拖动视图、改变视图大小等。例如,我们添加手势。原创 2024-07-30 16:35:37 · 731 阅读 · 0 评论 -
flutter开发实战-dio Interceptor统一设置ua及接口参数
flutter开发实战-dio Interceptor统一设置ua及接口参数最近在开发中,使用dio请求,需要统一设置ua等统一的校验信息数据。接口请求URl需要统一的参数。这里用到了Interceptor。原创 2024-07-29 16:21:09 · 345 阅读 · 0 评论 -
flutter开发实战-go_router使用
go_router是一个Flutter的第三方声明式路由插件,使用路由器API提供一个方便的、基于url的API,用于在不同屏幕之间导航。可以定义URL模式、使用URL导航、处理深度链接以及许多其他与导航相关的场景。使用模板语法解析路由路径和路由查询(query)参数;支持单个目标路由展示多个页面(子路由);重定向:可以基于应用状态跳转到不同的URL,比如用户没有登录时跳转到登录页;使用 StatefulShellRoute 可以支持嵌套的 Tab 导航;原创 2024-07-29 15:42:49 · 415 阅读 · 0 评论 -
flutter开发实战-解决release下Error: SocketException: Failed host lookup问题
flutter开发实战-解决release下Error: SocketException: Failed host lookup问题当在开发App过程中,在Debug下接口访问正常,但是通过flutter build apk lib/main.dart --release打包后安装,发现Android手机上无法请求数据,报Error: SocketException: Failed host lookup的错误。原创 2024-07-04 14:10:59 · 481 阅读 · 4 评论 -
flutter开发实战-Charles抓包设置,dio网络代理
flutter开发实战-Charles抓包设置在开发过程中抓包,可以看到请求参数等数据,方便分析问题。flutter上使用Charles抓包设置。dio需要设置网络代理。原创 2024-07-03 14:47:48 · 435 阅读 · 0 评论 -
flutter开发实战-Webview及dispose关闭背景音
flutter开发实战-Webview及dispose关闭背景音当在使用webview的时候,dispose需要关闭网页的背景音或者音效。原创 2024-07-03 14:25:44 · 285 阅读 · 0 评论 -
flutter开发实战-ListWheelScrollView与自定义TimePicker时间选择器
自定义TimePicker使用ListWheelScrollView自定义TimePicker有小时和分钟,左边显示小时,右边显示分钟。点击确定确认选择的时间,时间格式为10:20onSelectedItemChanged来确认选择的item完整代码如下super.key,});width;height;原创 2024-06-28 15:03:04 · 653 阅读 · 0 评论 -
flutter开发实战-创建一个微光加载效果
flutter开发实战-创建一个微光加载效果当加载数据的时候,loading是必不可少的。从用户体验(UX)的角度来看,最重要的是向用户展示加载正在进行。向用户传达数据正在加载的一种流行方法是在与正在加载的内容类型近似的形状上显示带有微光动画的铬色。微光加载效果需要用到的是ShaderMask.原创 2024-06-14 11:14:34 · 556 阅读 · 1 评论 -
flutter开发实战-RichText富文本居中对齐
flutter开发实战-RichText富文本居中对齐在开发过程中,经常会使用到RichText,当使用RichText时候,不同文本字体大小默认没有居中对齐。这里记录一下设置过程。原创 2024-06-13 16:23:02 · 791 阅读 · 1 评论 -
flutter开发实战-下拉刷新继续下拉路由进入活动页面实现
flutter开发实战-下拉刷新继续下拉路由进入活动页面实现很多应用都有首页通过下拉刷新,继续下拉进入新的活动会场进入方式。在Flutter中,也可以通过pull_to_refresh来实现控制刷新页,继续下拉进入新的活动会场页面。原创 2024-05-30 14:40:37 · 1049 阅读 · 0 评论 -
flutter开发实战-类似微博帖子列表及下拉刷新上拉加载效果
flutter开发实战-类似微博帖子列表及下拉刷新上拉加载效果在之前处理类似微博帖子列表及下拉刷新上拉加载效果,刷新使用的是EasyRefresh。原创 2024-05-29 14:53:23 · 385 阅读 · 0 评论 -
flutter开发实战-美颜前后对比图效果实现
flutter开发实战-美颜前后对比图效果实现最近使用代码中遇到了图片前后对比,这里使用的是CustomClipper来实现。原创 2024-05-24 17:49:27 · 648 阅读 · 0 评论 -
flutter开发实战-flutter播放PAG动画
官网:https://pag.art/Portable Animated Graphics 是一套完整的动效工作流解决方案。目标是降低或消除动效相关的研发成本,能够一键将设计师在 AE(Adobe After Effects)中制作的动效内容导出成素材文件,并快速上线应用于几乎所有的主流平台。类似SVGA,PAG通过二进制的方式效率更高。目前PAG sdk有iOS、Android、web端。在flutter端,有一个pag插件。原创 2024-05-24 16:44:08 · 399 阅读 · 0 评论 -
flutter开发实战-外接纹理texture处理图片展示
flutter开发实战-外接纹理处理图片展示在Flutter中,如果你想要创建一个外接纹理的widget,你可以使用Texture widget。Texture widget用于显示视频或者画布(canvas)的内容。该组件只有唯一入参textureId。原创 2024-05-21 13:39:45 · 556 阅读 · 0 评论 -
flutter开发实战-JSON和序列化数据
flutter开发实战-JSON和序列化数据大多数移动应用都需要与 web 服务器通信,同时在某些时候轻松地存储结构化数据。当创造需要网络连接的应用时,它迟早需要处理一些常见的 JSON。使用Json时候,可以使用json_serializable。原创 2024-05-15 15:56:00 · 507 阅读 · 0 评论 -
flutter开发实战-实现多渠道打包及友盟统计(亲测有效)
flutter开发实战-实现多渠道打包及友盟统计(亲测有效)最近开发过程中,需要引入友盟进行统计服务。友盟统计还需要区分不同渠道的打开应用的情况,所以需要处理多渠道打包的问题。原创 2024-05-15 14:40:55 · 1486 阅读 · 1 评论 -
flutter常用的指令(签名、adb、shell、keytool、scrcpy)
指定main_dev.dart debug指定main_dev.dart release插件用到非空安全情况。原创 2024-05-14 17:05:15 · 331 阅读 · 0 评论 -
flutter开发实战-compute将工作交由isolate处理
flutter开发实战-compute将工作交由isolate处理最近查看flutter文档时候,看到了compute可以将工作交由isolate处理。通过 Flutter 提供的 compute() 方法将解析和转换的工作移交到一个后台 isolate 中。这个 compute() 函数可以在后台 isolate 中运行复杂的函数并返回结果。原创 2024-05-14 14:46:32 · 443 阅读 · 2 评论 -
flutter开发实战-本地SQLite数据存储
flutter开发实战-本地SQLite数据库存储正在编写一个需要持久化且查询大量本地设备数据的 app,可考虑采用数据库。相比于其他本地持久化方案来说,数据库能够提供更为迅速的插入、更新、查询功能。这里需要用到sqflite package 来使用 SQLite 数据库预览图。原创 2024-05-14 13:53:00 · 742 阅读 · 0 评论 -
flutter开发实战-人脸识别相机使用
flutter开发实战-人脸识别相机使用当需要拍摄的时候,需要检测到人脸再进行后续的操作,这里使用的是face_camera。原创 2024-05-11 11:56:44 · 794 阅读 · 1 评论 -
flutter开发实战-log日志存储zip上传,发送钉钉机器人消息
flutter开发实战-log日志存储zip上传,发送钉钉机器人消息当我们需要Apk上传的时候,我们需要将日志打包并上传到七牛,上传之后通过钉钉通知我们日志下载地址。这里我使用的是loggy来处理日志。原创 2024-05-10 16:52:52 · 955 阅读 · 3 评论 -
flutter开发实战-GetX响应式状态管理使用
flutter开发实战-GetX响应式状态管理使用GetX是一个简单的响应式状态管理解决方案。GetX是Flutter的一款超轻、功能强大的解决方案。它将高性能状态管理、智能依赖注入和路由管理快速而实用地结合在一起。这里简单使用一下GetX。原创 2024-05-07 15:50:18 · 626 阅读 · 0 评论 -
flutter开发实战-webview_flutter 4.x版本使用
flutter开发实战-webview_flutter 4.x版本使用在之前使用的webview_flutter版本是3.x的,升级到4.x后,使用方式有所变化。原创 2024-05-07 14:11:03 · 998 阅读 · 1 评论 -
flutter开发实战-build apk名称及指令abiFilters常用gradle设置
flutter开发实战-build apk名称及指令abiFilters常用gradle设置最近通过打包flutter build apk lib/main.dart --release,发现apk命名规则需要在build.gradle设置。这里记录一下。原创 2024-04-26 14:46:54 · 878 阅读 · 2 评论 -
flutter开发实战-混淆minifyEnabled及shrinkResources
flutter开发实战-混淆minifyEnabled及shrinkResources,这里不需要混淆,暂时关闭。学习记录,每天不停进步。原创 2024-04-25 10:18:50 · 438 阅读 · 5 评论 -
flutter开发实战-手势Gesture与ListView滚动竞技场的可滑动关闭组件
flutter开发实战-手势Gesture与ListView滚动竞技场的可滑动关闭组件最近看到了一个插件,实现一个可滑动关闭组件。滑动关闭组件即手指向下滑动,组件随手指移动,当移动一定位置时候,手指抬起后组件滑出屏幕。原创 2024-02-22 19:25:07 · 1328 阅读 · 0 评论 -
flutter开发实战-StreamBuilder使用介绍及实例
flutter开发实战-StreamBuilder使用介绍及实例StreamBuilder是一个Widget,它依赖Stream来做异步数据获取刷新widget。原创 2024-02-22 13:48:34 · 1817 阅读 · 0 评论 -
flutter开发实战-可扩展popup弹窗template模版样式
flutter开发实战-可扩展popup弹窗template模版样式最近在看到一个flutter_beautiful_popup,可以美化弹窗窗口样式。该插件通过一个template模版的类BeautifulPopupTemplate作为抽象的base类。原创 2024-02-04 15:57:01 · 1190 阅读 · 1 评论 -
flutter开发实战-ijkplayer视频播放器功能
使用better_player播放器进行播放视频时候,在Android上会出现解码失败的问题,better_player使用的是video_player,video_player很多视频无法解码。最终采用ijkplayer播放器插件,在flutter上使用fijkplayer插件。原创 2024-02-04 13:40:18 · 2321 阅读 · 8 评论 -
flutter开发实战-Camera自定义相机拍照功能实现
在项目中使用image_picker插件时候,在android设备上使用无法默认设置前置摄像头(暂时不清楚什么原因),由于项目默认需要使用前置摄像头,所以最终采用自定义相机实现拍照功能。我们实现了实现自定义相机拍照的功能完整代码如下super.key,});///以下是关于手指缩放画面的变量Size?mediaSize;double?scale;double?String?@override。原创 2024-02-02 16:49:16 · 3879 阅读 · 3 评论 -
flutter开发实战-设置bottomNavigationBar中间按钮悬浮效果
flutter开发实战-设置bottomNavigationBar中间按钮悬浮的效果在使用tabbar时候,可以使用bottomNavigationBar来设置中间凸起的按钮,如下。原创 2023-12-21 14:28:05 · 1185 阅读 · 0 评论 -
flutter开发实战-第一帧布局完成回调实现
flutter开发实战-第一帧布局完成回调实现在开发中,我们有时候需要在第一帧布局完成后调用一些相关的方法。这里记录一下是实现过程。Flutter中有多种不同的Binding,每种Binding都负责不同的功能。下面是Flutter中常见的Binding:这里简单说明一下WidgetsBinding。原创 2023-12-21 11:38:45 · 974 阅读 · 0 评论 -
Python冒泡算法代码
这个代码实现了一个基本的冒泡排序算法。这个算法会反复遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。print(“排序后的数组是:”)print(“原始数组是:”)原创 2023-12-08 10:25:09 · 219 阅读 · 0 评论 -
flutter开发实战-ValueListenableBuilder实现局部刷新功能
flutter开发实战-ValueListenableBuilder实现局部刷新功能在创建的新工程中,点击按钮更新counter后,通过setState可以出发本类的build方法进行更新。当我们只需要更新一小部分控件的时候,通过setState就不太合适了,这就需要进行局部更新,可以通过provider等状态管理库来实现。当然flutter为我们提供了ValueListenableBuilder来实现局部控件的刷新。原创 2023-12-01 13:53:31 · 1044 阅读 · 0 评论 -
flutter开发实战-实现获取视频的缩略图封面video_thumbnail
flutter开发实战-实现获取视频的缩略图封面video_thumbnail在很多时候,我们查看视频的时候,视频没有播放时候,会显示一张封面,可能封面没有配置图片,这时候就需要通过获取视频的缩略图来显示封面了。这里使用了video_thumbnail来实现获取视频的缩略图。原创 2023-12-01 13:50:02 · 1959 阅读 · 0 评论 -
flutter开发实战-轮播Swiper更改Custom_layout样式中Widget层级
flutter开发实战-轮播Swiper更改Custom_layout样式中Widget层级在之前的开发过程中,需要实现卡片轮播效果,但是卡片轮播需要中间大、两边小一些的效果,这里就使用到了Swiper。具体效果如视频所示这里需要的效果是中间大、两边小一些,中间的卡片在最上层,两边的卡片会被中间的卡片挡住一部分。所以需要处理一下Custom_layout样式中Widget层级关系。原创 2023-11-30 16:28:19 · 866 阅读 · 0 评论 -
flutter开发实战-readmore长文本展开和收缩控件
flutter开发实战-readmore长文本展开和收缩控件当长文本展开和收缩控件,我们需要使用readmore来处理长文本展开和收缩,方便阅读。原创 2023-11-30 16:24:30 · 661 阅读 · 0 评论 -
flutter开发实战-为ListView去除Android滑动波纹
flutter开发实战-为ListView去除Android滑动波纹在之前的flutter聊天界面上,由于使用ScrollBehavior时候,当时忘记试试了,今天再试代码发现不对。这里重新记录一下为ListView去除Android滑动波纹的方式。原创 2023-11-28 11:00:01 · 747 阅读 · 0 评论