随笔分类 -  Android-101

基础
摘要:Android 自定义View - 柱状波形图 wave view前言 柱状波形图是一种常见的图形。一个个柱子按顺序排列,构成一个波形图。 柱子的高度由输入数据决定。如果输入的是音频的音量,则可得到一个声波图。 在一些音频软件中,我们也可以左右拖动声波,来改变音频的播放进度 本文举例的自定View,实现如下功能: 以柱状形式展示数据的大小 标明图形当前最中间的数据 阅读全文
posted @ 2022-08-16 08:21 AnRFDev 阅读(785) 评论(0) 推荐(0) 编辑
摘要:升降摄像头安卓手机刚上市的时候,有些很流行的app刚打开时,前置摄像头就升起来了。好像就是出来看一眼然后又收回去。 虽然我们不调用拍照功能,只是为了获取相机的信息,也是可能让摄像头升起来的。 Camera实现 使用android.hardware.Camera获取摄像头支持的预览尺寸和fps。 先C 阅读全文
posted @ 2022-02-23 09:07 AnRFDev 阅读(2915) 评论(0) 推荐(1) 编辑
摘要:市面上常见的摄像头悬浮窗,如微信、手机QQ的视频通话功能,有如下特点: 整屏页面能切换到一个小的悬浮窗 悬浮窗能运行在其他app上方 悬浮窗能跳回整屏页面,并且悬浮窗消失 我们探讨过用CameraX打开摄像头预览,结合可改变大小和浮动的activity,实现了应用内摄像头预览悬浮Activity。这 阅读全文
posted @ 2022-01-07 10:23 AnRFDev 阅读(1098) 评论(0) 推荐(0) 编辑
摘要:悬浮窗能显示在其他应用上方。桌面系统例如Windows,macOS,Ubuntu,打开的程序能以窗口形式显示在屏幕上。 受限于屏幕大小,安卓系统中主要使用多任务切换的方式和分屏的方式。视频播放,视频对话可能会采用悬浮窗功能(例如手Q,微信的视频通话)。应用留下一个视频(通话)窗口,用户可以返回安卓桌 阅读全文
posted @ 2022-01-06 10:30 AnRFDev 阅读(5894) 评论(2) 推荐(1) 编辑
摘要:用CameraX打开摄像头预览,显示在界面上。结合悬浮窗的功能。实现一个可拖动悬浮窗,实时预览摄像头的例子。 这个例子放进了单独的模块里。使用时注意gradle里的细微差别。 操作摄像头,打开预览。这部分代码与Android CameraX 打开摄像头预览相同。 悬浮窗相关代码与可拖动悬浮窗相同。在 阅读全文
posted @ 2022-01-05 10:36 AnRFDev 阅读(740) 评论(0) 推荐(0) 编辑
摘要:悬浮窗是一种比较常见的需求。例如把视频通话界面缩小成一个悬浮窗,然后用户可以在其他界面上处理事情。 本文给出一个简单的悬浮窗实现。可缩小activity和还原大小。可悬浮在其他activity上。使用TouchListener监听触摸事件,拖动悬浮窗。 本文链接 缩放方法 缩放activity需要使 阅读全文
posted @ 2022-01-04 13:23 AnRFDev 阅读(1683) 评论(0) 推荐(0) 编辑
摘要:Android CameraX获取视频帧。设置分析器以及分析器的各项参数。将获取到的视频帧数据存为文件。Android CameraX Analyzer ImageProxy YUV_420_888 to NV21 阅读全文
posted @ 2021-12-17 09:28 AnRFDev 阅读(4905) 评论(8) 推荐(3) 编辑
摘要:目标很简单,用CameraX打开摄像头预览,实时显示在界面上。看看CameraX有没有Google说的那么好用。先按最简单的来,把预览显示出来。 引入依赖 模块gradle的一些配置,使用的Android SDK版本为31,启用了databinding apply plugin: 'com.andr 阅读全文
posted @ 2021-12-10 08:53 AnRFDev 阅读(3451) 评论(7) 推荐(2) 编辑
摘要:Android SeekBar 自定义thumb,thumb旋转动画效果简介 某些音乐播放或者视频播放的界面上,资源还在加载时,进度条的原点(thumb)会显示一个转圈的效果。 资源加载完成后,又切换回静态效果。这个效果增强了用户体验。 一般来说有美术人员负责设计和切图。尝试实现时,我们可以使用使用drawable,来模拟实现这个转圈的效果。 示例 dimens.xml 阅读全文
posted @ 2021-11-19 08:27 AnRFDev 阅读(2170) 评论(0) 推荐(0) 编辑
摘要:给现有的Android应用工程中引入Compose。需要对gradle进行设置。引入后使用Compose验证一下。 阅读全文
posted @ 2021-11-04 08:24 AnRFDev 阅读(1898) 评论(3) 推荐(0) 编辑
摘要:引入 Jetpack Compose 示例工程 去GitHub上找到Compose的示例工程 https://github.com/android/compose-samples ,clone到本地 网络不好的同学也可以去gitee上面搜索「compose-samples」,也能找到这个示例工程。 阅读全文
posted @ 2021-11-03 08:31 AnRFDev 阅读(821) 评论(0) 推荐(0) 编辑
摘要:Android官方推荐使用协程来处理异步问题。以下是协程的特点: 轻量:单个线程上可运行多个协程。协程支持挂起,不会使正在运行协程的线程阻塞。挂起比阻塞节省内存,且支持多个并行操作。 内存泄漏更少:使用结构化并发机制在一个作用域内执行多项操作。 内置取消支持:取消操作会自动在运行中的整个协程层次结构 阅读全文
posted @ 2021-09-26 17:09 AnRFDev 阅读(693) 评论(0) 推荐(0) 编辑
摘要:Android教程,View.post方法流程分析。View.post与Handler的post方法有何不同?先来简单看一下Handler的post(Runnable)方法。这个方法是将一个Runnable加到消息队列中,并且会在这个handler关联的线程里执行。可以看到一开始就查询是否有attachInfo,如果有,则用attachInfo.mHandler来执行这个任务。 阅读全文
posted @ 2021-09-23 09:17 AnRFDev 阅读(349) 评论(0) 推荐(0) 编辑
摘要:本文主要使用kotlin,讨论Android开发中的线程池用法。 我们想使用线程的时候,可以直接创建子线程并启动 Thread { Log.d("rfDev", "rustfisher said: hello") }.start() 不想每次都创建新的子线程 如果有大量的异步任务,不想每次都创建子线 阅读全文
posted @ 2021-09-13 17:25 AnRFDev 阅读(1491) 评论(0) 推荐(0) 编辑
摘要:App有时可能需要定期运行某些工作。例如,可能要定期备份数据、上传信息到服务器,定期获取新的内容等等。 在app运行期间,我们使用Handler也可以完成定期的功能。在这里我们介绍WorkManager使用定时任务的方法。 前面我们介绍了WorkManager的使用方法,约束和延迟等。本文介绍Wor 阅读全文
posted @ 2021-08-30 12:34 AnRFDev 阅读(3478) 评论(0) 推荐(0) 编辑
摘要:WorkManager工作约束,延迟与查询工作 本文可能会混用“工作”与“任务”这两个词。 本文例子使用Kotlin 准备一个工作类(任务)UploadWorker2 class UploadWorker2(context: Context, params: WorkerParameters) : 阅读全文
posted @ 2021-08-23 09:35 AnRFDev 阅读(759) 评论(0) 推荐(0) 编辑
摘要:WorkManager使用入门 WorkManager提供了任务调度功能,我们可以对工作进行标记或命名。 我们用一个示例来演示如何使用WorkManager。本文使用Kotlin。 入门示例 gradle引入依赖 将以下依赖项添加到应用模块的build.gradle文件中 dependencies 阅读全文
posted @ 2021-08-19 13:10 AnRFDev 阅读(1805) 评论(0) 推荐(0) 编辑
摘要:Android补间动画。旋转,位移,缩放,透明度变化。 阅读全文
posted @ 2021-08-11 17:27 AnRFDev 阅读(312) 评论(0) 推荐(0) 编辑
摘要:帧动画 使用一系列不同的图片,然后像一卷胶卷一样按顺序播放,这是一种传统的动画,也可称为帧动画。也可以比喻为像一卷胶卷一样按顺序播放。 播放起来,有点像在看gif图。 本文介绍使用AnimationDrawable类来实现动画效果。 为了开发方便,我们可以在xml中指定动画各个帧的信息。 使用背景图 阅读全文
posted @ 2021-08-05 15:20 AnRFDev 阅读(427) 评论(0) 推荐(0) 编辑
摘要:使用链控制线性组 链是一组视图,这些视图通过双向位置约束条件相互链接到一起。链中的视图可以垂直或水平分布。 1. Spread:视图是均匀分布的(在考虑外边距之后)。这是默认值。 2. Spread inside:第一个和最后一个视图固定在链两端的约束边界上,其余视图均匀分布。 3. Weighte 阅读全文
posted @ 2020-04-13 09:04 AnRFDev 阅读(1890) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示