移动开发

Android-推荐一个车牌键盘库VehicleEditText

Android,图片来源网络 最近开发公司的项目的时候,我们有输入车牌号的功能。如果使用手机输入法去输入,需要来回切换中文和英文以及数字。我们就想有没有办法自定义输入车牌输入键盘。我找到一个非常棒的库,分享给大家,希望能提高小伙伴们的开发效率。 VehicleEditText VehicleEditText库文档,感兴趣的小伙伴可以去看看详情文档。 代码示例 我这里是使用原生的Edit

滚动前行的轮子 — Flutter 交错动画应用实例

前言 之前一篇我们讲了 Flutter组合动画实现的方式 —— 交错动画,如需了解原理的可以查看下面这篇:用 Flutter 做出 GIF 图片的效果 。借助 GIF 和绘图技巧是可以做到类似 GIF 那种效果的。本篇我们来一个应用实例,我们让轮子在草地滚动着前进,而且还能粘上“绿色的草”,运行效果如下动画所示。 滚动的轮子.gif 动画解析 上面实现的效果实际上有三个动画组成:

蓝牙协议栈概览

蓝牙底层结构 HW层:蓝牙芯片层 RF(RADIO):射频层,本地蓝牙数据通过射频信号发送给空中设备,并通过射频接收来自空中的蓝牙信号和数据 BB(BASEBAND):基带层,射频信号和数字(音频)信号转换,实现基带协议和其他底层连接规程 LMP(LINK MANAGER PROTOCOL):链路管理层,负责管理蓝牙设备之间的通信,实现链路建立、验证、链路配置等操作 HCI(HOST

[ANR监控] ANR捕获,这些要点你必须知道

大家都知道,当发生ANR后,App会弹窗提示”应用失去响应,是否重启“,然后系统会dump一份trace文件,存在data/anr目录下。 普通应用如何监控ANR的发生呢? 这个时候,系统肯定是知道ANR发生了,所以像Console和Firebase这些工具都能很好的拿到ANR发生的时间和trace文件的内容。 但是,作为面向普通应用的监控sdk,很多系统应用有的权限都没有,我们怎么才能判断A

Swift 周报 第十六期

前言 本期是 Swift 编辑组自主整理周报的第七期,每个模块已初步成型。各位读者如果有好的提议,欢迎在文末留言。 欢迎投稿或推荐内容。目前计划每两周周一发布,欢迎志同道合的朋友一起加入周报整理。 当你来到双水村以外的大世界,你的人生目标便不单单是一名庄稼人了。Swift社区陪你一起成长,一起创造更多可能!👊👊👊 周报精选 新闻和社区:【挑战上岛】适配实时活动和灵动岛 提案:函数反向部署 Swi

iOS开发集成framework、Bundle文件获取

一、前言         有些时候,我们开发的SDK并不需要对外隐藏,那么就可以将源码都打包给对方,也可以集成cocopods仓库,供外部使用。但有些时候,出于版权等原因,我们提供的代码只希望对方能够正常使用,却不希望对方看到内部的实现细节,就像苹果官方一样,给我们开发者提供的API只能看到.h文件以及相关的文档,这就是我们今天要实现的,也是苹果官方提供给我们的.framework。如果对SDK开

[iOS] iOS15+设置导航背景色不起作用问题

在自定义设置导航背景色时,使用下面的方法,在iOS15+系统上不起作用: UINavigationBar *appearance = [UINavigationBar appearance]; // [appearance confi]; [appearance setBarTintColor:[UIColor whiteColor]]; [appea

为什么鼠标指针是斜的?

这与当时电脑的分辨率有关。 鼠标的发明者是道格拉斯.恩格尔巴特。 他最初设计出来的鼠标指针是竖着的,但帕罗奥多研究中心的电脑将其开发出来时,却变成了略向左倾斜。 因为当时的显示器分辨率太低了,在表现斜线时比直线更清晰。 在同等面积下,斜的鼠标指针更容易辨认。 如果坚持使用竖直的鼠标指针,其面积就要达到原设计的两倍,才能看的更清晰。 但大的指针会遮挡人们的实现,不利于操作。另外,在移动

Flutter中ListView如何根据index滚动到相应位置

好久没有写文章,这一年因为河南村镇银行那破事,不得不腾出大量时间来wq和讨钱。 因为最近有个Message的需求,点击消息的引用文字要滚动到相应的那一项去,所以去pub.dev找了一下相对应的库。记录一下~ 一共试用了三个库。 一、flutter_list_view 1.1 pubspec.yaml引用 dependencies: flutter_list_view: ^1.1.18 1

View.post()不靠谱的地方你知道多少

首先我们来看一段代码: 启动了两个模拟器 API 22 和API 26分别是安卓7.0以下和安卓7.0以上 下面我们就从源码分析他们之间的差别以及为啥造成的现象不同 首先我们来分析安卓7.0以下的源码流程: 当attachInfo为空时走的是ViewRootImpl.getRunQueue().post(action);代码  当atta