编译AOSP源码
为自己的安卓手机 (Xiaomi 10s) 编译 Android/LineageOS 系统。1. 编译环境1.1 WSL以 Windows 为例,需要 安装适用于 Linux 的 Windows 子系统 WSL 。在管理员模式下打开 PowerShell 或 Windows Cmd 命令提示符,使用如下命令安装。# 默认安装 wsl, 安装的 Linux 分发版为 Ubuntuwsl --i...
作者 Viifo 发布于 2025年03月10日
Android绘制PS画布透明方格背景
1. 效果预览2. 实现透明方格背景实现 PS 透明方格背景样式的关键在于需要一个方格背景图片,如图 2.1 所示。实际上就是将方格图片以重复平铺的方式画在背景上,代码如下:class TranslateBgView @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, defSt...
作者 Viifo 发布于 2024年10月14日
自定义 Drawable 实现文字 Thumb
1. 效果预览2. 实现 progress 进度样式activity_main.xml 布局文件:<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/r...
作者 Viifo 发布于 2023年06月21日
Android 绘制 StateListDrawable
Drawable 是 可以绘制的东西 的一般抽象。大多数情况下,Drawable 被视为一种可将内容绘制到屏幕的资源类型。StateListDrawable 是 Drawable 的子类型,单个 StateListDrawable 可存储多个图形并通过字符串 ID 值替换可见项。StateListDrawable 可以在带有 <selector> 标签的 XML 文件中定义,示...
作者 Viifo 发布于 2023年06月17日
LatticeEditText 格子输入框
LatticeEditText 是一个格子输入框,可用于验证码或密码输入。1. 预览 box模式 box模式 box无边框 字符回显 line模式 line模式 ...
作者 Viifo 更新于 2023年06月11日
Android 高斯模糊
高斯模糊 (Gaussian Blur) 通常被用来实现 毛玻璃 效果。截取要模糊区域的背景,将 高斯模糊 应用此截取部分覆盖在背景上显示即可实现 毛玻璃 效果。1. 从 RenderScript 迁移在 Android 12 (API 31) 之前使用 RenderScript API 来实现 高斯模糊 。页面布局 activity_main.xml 内容如下:<?xml versi...
作者 Viifo 发布于 2023年06月10日
MQTT 协议
MQTT 消息队列遥测传输 (Message Queuing Telemetry Transport) 是 ISO 标准 (ISO/IEC PRF 20922) 下基于 发布(Publish)/订阅(Subscribe) 范式的消息协议。MQTT 协议是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的,具有轻量、简单、开放和易于实现的特点,这些特点使它适用范围非常广泛,如 M2M 机...
作者 Viifo 发布于 2023年05月28日
USB PD
USB PD (USB Power Delivery) 是 USB开发者论坛 (USB-IF) 在2012年7月5日发布的 USB 充电标准与技术。USB PD 是指在 USB 电力传输中,一对直接连接的端口通过 CC 线作为通信通道来协商电压、电流和功率流方向。在 USB PD 出现之前,基于安全考虑,设备最高的充电功率仅为 15W。PD 2.0 规范允许的最大电流为 5A,最高电压为2...
作者 Viifo 发布于 2023年05月20日
Aria2
Aria2 是一款开源、跨平台的命令行界面下载管理器。Aria2 使用 GNU GPLv2.0 开源协议,支持的下载协议有:HTTP、HTTPS、FTP、Bittorrent 和 Metalink。Aria2 有以下几个特点: 多连接下载:可以从多个来源/协议下载文件并尝试利用您的最大下载带宽,真正加快您的下载体验; 轻量:不需要太多内存和 CPU 时间; 全功能的 BitTorren...
作者 Viifo 发布于 2023年05月13日