当前位置: 首页
科技数码
让你的应用"飘"起来!Android悬浮窗+自动吸边效果实战

让你的应用"飘"起来!Android悬浮窗+自动吸边效果实战

热心网友 时间:2025-12-15
转载

重要注意事项1. 版本适配:Android 8.0+要用TYPE_APPLICATION_OVERLAY类型。2. 内存管理:记得在onDestroy里移除视图!3. 用户体验:拖动时可以考虑增加半透明效果。4. 权限提示:优雅地引导用户开启权限

先搞张"通行证"(权限篇)

在AndroidManifest里挂个牌子

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

这就像在游乐园门口挂了个"VIP通道"的牌子~

向用户申请"特别通行证"

// 检查是不是Android 6.0以上的"高级游乐园"if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { // 看看通行证有没有过期 if (!Settings.canDrawOverlays(this)) { // 申请权限 Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION, Uri.parse("package:" + getPackageName())); startActivityForResult(intent, 1001); } else { showFloatingWindow(); // 亮出我们的悬浮窗! }}

图片图片

创建会"跑"的悬浮窗(核心实现)

悬浮窗基础配置

// 窗口管家(WindowManager)登场windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);// 给悬浮窗穿件"衣服"ImageView floatView = new ImageView(this);floatView.setImageResource(R.drawable.ic_float); // 悬浮窗的"身份证信息"WindowManager.LayoutParams params = new WindowManager.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT, Build.VERSION.SDK_INT >= Build.VERSION_CODES.O ? WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY : // Android 8.0+用这个 WindowManager.LayoutParams.TYPE_PHONE, // 老版本用这个 WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE, // 别抢焦点,做个安静的美窗 PixelFormat.TRANSLUCENT // 半透明效果更高级);// 初始位置:屏幕左上角+向下偏移100像素params.gravity = Gravity.START | Gravity.TOP;params.x = 0;params.y = 100;// 把悬浮窗"放"到屏幕上windowManager.addView(floatView, params);

图片图片

让悬浮窗"动"起来

floatView.setOnTouchListener(new View.OnTouchListener() { private int startX, startY; private float touchX, touchY; @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: // 手指按下 startX = params.x; startY = params.y; touchX = event.getRawX(); // 记录触点X touchY = event.getRawY(); // 记录触点Y return true; case MotionEvent.ACTION_MOVE: // 手指滑动 // 计算新位置 params.x = startX + (int)(event.getRawX() - touchX); params.y = startY + (int)(event.getRawY() - touchY); windowManager.updateViewLayout(floatView, params); return true; case MotionEvent.ACTION_UP: // 手指松开 autoAttachToEdge(); // 触发吸边效果 return true; } return false; }});

磁吸边效果实现(魔法时刻)

private void autoAttachToEdge() { int screenWidth = getResources().getDisplayMetrics().widthPixels; int viewCenterX = params.x + floatView.getWidth()/2; // 判断离哪边近 if(viewCenterX < screenWidth/2) { params.x = 0; // 吸到左边缘 } else { params.x = screenWidth - floatView.getWidth(); // 吸到右边缘 } // 添加弹性动画 ValueAnimator animator = ValueAnimator.ofInt(params.x, targetX); animator.addUpdateListener(animation -> { params.x = (int) animation.getAnimatedValue(); windowManager.updateViewLayout(floatView, params); }); animator.setDuration(300).start();}

图片图片

重要注意事项

1. 版本适配:Android 8.0+要用TYPE_APPLICATION_OVERLAY类型

2. 内存管理:记得在onDestroy里移除视图!

3. 用户体验:拖动时可以考虑增加半透明效果

4. 权限提示:优雅地引导用户开启权限

快来打造属于你的"桌面小精灵"吧!代码在手,创意我有,让你的应用瞬间拥有灵魂~

来源:https://www.51cto.com/article/817808.html

游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

同类文章
更多
赠 439 元 AppleCare Services 服务:iPhone 17 Pro Max 京东 8999 元发车

赠 439 元 AppleCare Services 服务:iPhone 17 Pro Max 京东 8999 元发车

京东自营 iPhone 17 Pro 系列开学大促继续,手慢无的300元换新券别忘了领 关注iPhone 17 Pro Max的朋友们注意了,这款上市价9999元的旗舰,今天在京东平台有个不容错过的“组合拳”优惠。核心就一句话:想拿到最大力度补贴,“以旧换新”是必选项。 直接来看最诱人的部分:通过以

时间:2026-03-31 20:28
Sharkoon 旋刚推出双模全配列机械键盘 OfficePal K70W

Sharkoon 旋刚推出双模全配列机械键盘 OfficePal K70W

Sharkoon旋刚推出双模全配列机械键盘OfficePal K70W 机械键盘市场又添新选择。日前,Sharkoon旋刚正式发布了旗下新款双模全配列机械键盘——OfficePal K70W。这款产品为用户提供了段落有声和线性静音两种轴体选项,值得一提的是,无论是哪种轴体,官方标称的按键寿命都达到了

时间:2026-03-31 20:25
极摩客 EVO-T2 系列小主机 3 月 12 日发布:搭载英特尔酷睿 Ultra X9 388H / X7 358H,GMK claw 小龙虾开箱即用

极摩客 EVO-T2 系列小主机 3 月 12 日发布:搭载英特尔酷睿 Ultra X9 388H / X7 358H,GMK claw 小龙虾开箱即用

3月12日见!英特尔携Panther Lake登场,极摩客EVO-T2系列小主机同步亮相 消息已经传来:英特尔正式官宣,将于明日(3月12日)下午14:00举行第三代英特尔酷睿Ultra处理器新品分享会。届时,一系列搭载最新Panther Lake架构处理器的PC新品将揭开面纱。 这场发布会的看点,

时间:2026-03-31 20:22
追觅芯际连发三款芯片:涵盖手机、自动驾驶等领域,单颗算力高达 2000 TOPS

追觅芯际连发三款芯片:涵盖手机、自动驾驶等领域,单颗算力高达 2000 TOPS

追觅芯际连发三款芯片:涵盖手机、自动驾驶等领域,单颗算力高达2000 TOPS 3月11日下午,在“AWE 2026芯片产业高峰论坛”上,一个备受业界关注的动态浮出水面:追觅科技的生态企业“芯际穿越”首次系统披露了其业务蓝图。一系列瞄准前沿的芯片产品集中亮相,涵盖了从手机处理器、自动驾驶芯片,到个人

时间:2026-03-31 20:17
vivo X300s 新机搭载 7100mAh 蓝海电池:第四代硅负极技术,是 X 系列迄今最大电池容量

vivo X300s 新机搭载 7100mAh 蓝海电池:第四代硅负极技术,是 X 系列迄今最大电池容量

vivo X300s 新机搭载 7100mAh 蓝海电池:第四代硅负极技术,是 X 系列迄今最大电池容量 三月中旬,手机圈又迎来一波新机预热。近日,vivo产品经理韩伯啸率先揭开了X300s的关键特性之一:这款新机将搭载一块容量高达7100mAh的蓝海电池。这个数字意味着什么?它不仅是vivo X系

时间:2026-03-31 20:11
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 日榜
  • 周榜
  • 月榜
热门教程
更多
  • 游戏攻略
  • 安卓教程
  • 苹果教程
  • 电脑教程