分类:Android技巧

包含 10 篇文章

让PAG动画在富文本中动起来

我也是最近才接触到了PAG动画,PAG动画就是直播间送礼物时,礼物特效播放的那种动画。类似的是Lottie,但是Lottie相比PAG来说,不能做的很复杂,对于复杂动画播放效率不高。但是这玩意儿它不能放入Spannable富文本中播放。您可能问了,谁会把礼物特效放在富文本中播放啊?对啊,我也想问啊,...

一个冷门库J2V8的赋能之旅——深度绑定机制的实现

不知道各位大神在工作中有没有用到过J2V8,简单介绍一下J2V8,这是谷歌开源的大名鼎鼎的JS执行引擎V8的java封装,旨在将V8引擎引入到java的开发项目中,这样就可以在java项目中执行js代码了。为什么要使用这个库呢?因为我之前的工作是做SDK,这个SDK的一个核心功能就是作为JS的容器,...

相机录像新姿势-OpenGL共享上下文+MediaCodec

一、前言承接上一文章Camera无变形任意尺寸预览,我们已经实现了无形变的任意尺寸的相机画面预览。接下来要完成相机的相关录像、拍照、扫码等功能,最重要也是最难的就是录像部分。 最终示例代码可以参考我的Github: iCamera。 二、技术要求我们要实现的录像功能技术要求如下: 所见即所得,预览...

Camera无变形任意尺寸预览

在以往做Camera应用开发时,遇到一个问题,就是相机的预览如何做到在任意尺寸完全无变形的画面预览与视频录制。做过相机应用开发的朋友都知道,相机的预览尺寸并不是可以随意设置的,而是需要在支持的预览尺寸中选择一个,你的预览的view大小必须与选择的尺寸相匹配,才能保证画面不变形,但是这在实际开发中是无...

J2V8深度绑定机制分享

在使用J2V8的过程中,一个比较让人头疼的问题就是,双层(Java层/JS层)数据不同步的问题,产生这样的问题就在于两层各自修改了数据以后,没有把最新的数据及时通知给对方。

软键盘高度监测最佳实践

最近终于总结出最佳的软键盘高度监测方案了,特此分享出来。源码在此:KeyboardObserver.kt 视觉效果当开启showDebug时候,可以看到这样的可视化的键盘高度监测。 源码分析简单来说,这里说通过两个PopupWindow来实现的键盘高度测量。一个用于测量当前屏幕状态可绘制区域的最大高...

难忘的调试技巧

这里用于总结一些在工作中发现的调试技巧。 Handler是否繁忙?这一技巧来自于最近工作中,做子线程渲染时,发现有卡顿、手势操作延迟过大的情况,而渲染的子线程是一个HandlerThread,为了判断此线程是否有大量耗时操作,探索出一些技巧。 判断HandlerThread是否繁忙可以通过对应的Ha...

Jitpack托管库

以前只是用过别人托管在Jitpack上的库,自己的库都是托管在MavenCentral上,但是MavenCentral使用起来,相比Jitpack还是有些麻烦。经过简单尝试和学习,了解了Jitpack的使用,做一下简单记录。 我第一个托管在Jitpack上的库——J2V8Helper Step 1:...

Android的clipToXXX

最近处理工作bug的过程中,有一个需求是这样的,两层view,父view包含着子view,然后子view能显示出的区域,要以父view的背景来过滤。没看懂是不是?参考下图: