Android共0篇 第3页
Android
【自定义View】关于多色进度条GradientProgressView的绘制-五八三

【自定义View】关于多色进度条GradientProgressView的绘制

目录 前言 一、GradientProgressView准备工作 二、绘制 1.初始化属性 2.测量宽高 3.根据情况来画渐变色进度 4.绘制 总结 前言 我们常使用shape实现渐变色,但是shape的极限却只有三色,如果有超...
admin的头像-五八三admin2年前
070
【玩转Android无障碍】之布局节点速查器-五八三

【玩转Android无障碍】之布局节点速查器

上一篇介绍了的这个系列的背景【玩转Android无障碍】之序言 接下来就开始一步一步实现吧 工欲善其事必先利其器 接触Android无障碍(AccessibilityService)功能开发首先遇到的问题就是如何获取页...
admin的头像-五八三admin2年前
0260
arm64汇编指南-五八三

arm64汇编指南

寄存器 寄存器是CPU的组成成分, 存放着指令、数据和地址,速度比内存块 分为通用寄存器、状态寄存器和浮点寄存器 通用寄存器 ARM64有31个通用寄存器, 每个寄存器可以存储64位数据(8个字节) 使用 ...
admin的头像-五八三admin2年前
0390
关于Jetpack Compose中Composable的度量指标-五八三

关于Jetpack Compose中Composable的度量指标

当大量团队开始使用Jetpack Compose的时候, 团队中的大多数人最终会发现还缺少一块拼图: 测量Composable函数的性能. 在Jetpack Compose 1.2.0中, Compose编译器添加了一项新功能, 它可以在构建...
admin的头像-五八三admin2年前
0270
【小鹅事务所】Android动效设计从入门到实战-五八三

【小鹅事务所】Android动效设计从入门到实战

前言 最近小鹅事务所新增了一些动画,包括转场动画、布局动画和交互动效。本文通过多个动效实战来介绍其中的动效设计思想和 动画实战。 我已经想写动效开发这个题材很久了,但一直未能动笔。这...
admin的头像-五八三admin2年前
0210
【Android自定义View】高仿飞书日历(四) -- 列表视图-五八三

【Android自定义View】高仿飞书日历(四) — 列表视图

前段时间,笔者陆续发布了“高仿飞书日历”系列的三篇文章: 【Android自定义View】高仿飞书日历(一) -- 三日视图 【Android自定义View】高仿飞书日历(二) -- 日视图 【Android自定义View】...
admin的头像-五八三admin2年前
0120

项目的 Java 版本该怎么设置?

作为一个 Android 开发,走出第一步往往是很困难的,因为要面临巨复杂的环境配置问题,一个是 gradle 与 AGP 之间纠缠不清的关系,另一个就是 java 版本相关的各种配置。今天我们就回归基础,一...
admin的头像-五八三admin2年前
0170
Android开发小工具之:Chrome Custom Tabs-五八三

Android开发小工具之:Chrome Custom Tabs

一、为什么要用Chrome Custom Tabs? 当App需要打开一个网站时,开发者面临两种选择:默认浏览器或WebView。这两种选择都有不足。从App跳转到浏览器是一个非常重的切换,并且浏览器无法自定义;...
admin的头像-五八三admin2年前
0280

关于 FileProvider

FileProvider 实际上是 ContentProvider 的一个子类,它的作用也比较明显了,file://Uri 不给用,那么换个 Uri 为 content:// 来替代。 在官方7.0的以上的系统中,尝试传递 file://uri/ 可能...
admin的头像-五八三admin2年前
0170

Android 组件初始化三种方式

方式一:使用 Application#onCreate 进行初始化 使用方式 自定义 CustomApplication class CustomApplication : Application() { // .. override fun onCreate() { super.onCreate() // 进行组...
admin的头像-五八三admin2年前
0190
Jetpack Compose是如何决定哪块代码进行重组的?-五八三

Jetpack Compose是如何决定哪块代码进行重组的?

Jetpack Compose重组的作用域 几个月前, 我开始在生产级应用中使用Jetpack Compose, 当然是在编写了一些'Jetpack Compose Hello World项目'作为示例应用之后, 当然之后我放弃了所有这些项目. 在...
admin的头像-五八三admin2年前
0100
如何利用kcp和asm自动给 compose 事件(页面切换和点击)埋点-五八三

如何利用kcp和asm自动给 compose 事件(页面切换和点击)埋点

如何利用kcp和asm自动给 compose 事件(页面切换和点击)埋点 前言 最近公司同事开发了一套用户行为日志自动采集框架,可是不巧的是,这套埋点不支持compose,而当时公司基本就我在用compose开...
admin的头像-五八三admin2年前
0100

android 基于agp AsmClassVisitorFactory插桩实践

android项目引用了大量第三方库后,做得好的库,会提供接口给调用方设置统一的线程池,差一点的库在内部使用统一的线程池,但是难免遇到这种库:不仅没有提供接口给调用方设置线程池,而且内部...
admin的头像-五八三admin2年前
090
从代码设计看 Glide 之核心功能-五八三

从代码设计看 Glide 之核心功能

本文已同步发表于个人博客:0xforee's blog 前言 接上文。这篇我们主要关注于 Glide 的核心能力,来看一看构建出 Glide 核心的能力的模块或者类是哪些。 示例 如果用过 Glide 肯定记得通过 Glid...
admin的头像-五八三admin2年前
0100

Android协程的7个必要知识点

在现代Android应用开发中,协程(Coroutine)已经成为一种不可或缺的技术。它不仅简化了异步编程,还提供了许多强大的工具和功能,可以在高阶场景中发挥出色的表现。 本文将深入探讨Coroutine重...
admin的头像-五八三admin2年前
0100
Android 传感器(一)— 使用加速度传感器实现摇一摇打开页面-五八三

Android 传感器(一)— 使用加速度传感器实现摇一摇打开页面

大部分手机都内置了传感器,App可以使用这些传感器实现一些功能,例如统计步数、摇一摇打开页面(特指恶心的开屏广告)、根据光线调节屏幕亮度等。本文介绍如何使用加速度计传感器实现摇一摇打...
admin的头像-五八三admin2年前
0130
认识窗口-五八三

认识窗口

该文章为窗口层级结构系列文章的总结,重新回看这方面内容的时候我自己也有了一些新的感悟,希望通过本次总结能让大家再次对窗口有一个全面的认识。 一般来说,屏幕上最起码包含三个窗口,Statu...
admin的头像-五八三admin2年前
0370

Android View绘制原理-RenderPipeline

在上一篇关于帧绘制的原理中,做好了EGLSuface切换,同步好了UI的更新,为需要进行GPU绘制的RenderNode创好了SKSurface,最后通过ANativeWindow为下一帧调用了dequeueBuffer。所有的资源和数据...
admin的头像-五八三admin2年前
0160
【Android TextView/EditText 不允许换行】android:lines 与 android:maxLines 与 android:singleLine-五八三

【Android TextView/EditText 不允许换行】android:lines 与 android:maxLines 与 android:singleLine

在开发需求过程中,遇到 要求用户的昵称输入框 单行 输入展示,且有最大字符数限制,于是 就想当然的使用 android:singleLine 属性,结果被 lint 警告了,提示已被废弃,推荐使用android:maxLin...
admin的头像-五八三admin2年前
0350
自定义Nav-多种实现方式及思路探讨-五八三

自定义Nav-多种实现方式及思路探讨

1. 前言 作为7年老鸟安卓,我的学习方向并不是常见的crud,算法,FW等方向,看过我的一些文章的朋友应该会比较清楚,我的主要技术栈除了日常开发外,更倾向于UI方面。 在接触学习并实践了各种效...
admin的头像-五八三admin2年前
080