- 📷 照片叠加 — 选择相册照片,以半透明浮动层显示在屏幕最顶层
- 🧲 自由拖动 — 手指拖动图片区域,随意移动叠加层位置
- ✂️ 底部裁剪 — 拖动底部分割线把手,从下往上裁剪图片高度(30%~100%)
- 🔍 透明度调节 — 实时调整浮动层透明度,方便对照下层内容
- 🔄 快捷切换 — 长按 1 秒:在其他 app 切回控制面板 / 在控制面板关闭叠加层
- 🖼️ Matrix 固定 — 图片始终以左上角为锚点,裁剪/缩放不偏移
① 选择照片 → 调节透明度 / 大小
② 启动叠加层
③ 拖动图片移动位置
④ 拖动底部 ━ 调整裁剪高度
⑤ 长按 1 秒切回控制面板 / 关闭叠加层
- Android Studio 或命令行环境
- JDK 17+
- Android SDK 34
# 克隆项目
git clone https://github.com/your-username/overlay.git
cd overlay
# 直接编译
./gradlew assembleDebug
# 或使用一键脚本(自动检查环境)
chmod +x setup.sh
./setup.shAPK 生成路径:app/build/outputs/apk/debug/app-debug.apk
adb install app/build/outputs/apk/debug/app-debug.apk| 权限 | 用途 |
|---|---|
SYSTEM_ALERT_WINDOW |
在其他应用上层显示浮动叠加层 |
READ_MEDIA_IMAGES (Android 13+) |
从相册选择照片 |
READ_EXTERNAL_STORAGE (Android 12-) |
从相册选择照片 |
FOREGROUND_SERVICE |
保持叠加层服务运行 |
首次启动时需手动授予「显示悬浮窗」权限。
- OverlayService — 前台服务,通过
WindowManager管理系统级浮动窗口 - MainActivity — 控制面板,通过 Binder 与服务通信
- Matrix 缩放 — 图片使用
ImageView.ScaleType.MATRIX固定左上角锚点 - 实时 IPC — Binder 回调实时同步尺寸变化到 UI
wow哇呜怪
📺 抖音 · B站 · 小红书
Made with ❤️ for creators