首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android 悬浮窗功能的实现

另一个是360卫士的悬浮球,实现此功能的方式比较多,这里以视频通话悬浮窗中的需求为例。...退出通话页面悬浮窗消失。 业务场景技术分析 在编码之前,我们必须将流程整理好,这样更有利于编码的实现。实现一个功能如果需要10分钟,思考的时间是7分钟,编码占用的时间只是三分钟。...2.通话页面隐藏时悬浮窗显示,通话页面显示时悬浮窗隐藏,可以看出悬浮窗和Activity的生命周期相关联,所以悬浮窗的Service和通话页面的Activity是通过bind去绑定的。...结合上述技术问题分析,我们倒叙一一通过编码实现 悬浮窗实现方案 实现效果 ? 准备工作 首先我们新建一个项目,项目中有两个Activity,我们在第二个Activity编写通话模拟页面。...android:name="android.permission.SYSTEM_ALERT_WINDOW" /> (很多文章标题都是悬浮窗如何绕过权限,什么设置类型为TOAST

6.3K10

Android 可拖动悬浮窗实现

作者:Kuky_xs 博客:https://www.jianshu.com/p/1d22edea2647 最近公司的项目里,需要通过悬浮窗进行控制,悬浮窗根据手势进行拖动。...,接着在手指在 indicatorView 按下的时候,添加一个空的 RelativeLayout,作为悬浮窗的 rootview,然后往 rootview 添加悬浮窗内容 contentView,通过...在实现逻辑之前,因为整体都在悬浮窗上实现,需要定义悬浮窗内容的一些必要属性,因为 indicatorView 和 rootView 的属性差不多,所以只列出 indicatorView 的属性列表,具体的可以看...等到悬浮窗完全展示的时候,点击空白的地方,悬浮窗又需要从当前的位置回滚到初始的位置,其原理和拖出来的原理是一样的。...通过如上代码可以发现,contentView 的 layout 属性变化都是通过动画来实现的,这边我采用属性动画,来不断改变滑动的距离来实现悬浮窗显示和隐藏的效果,也就是就是上面代码中的 rightInSmoothToLeft

2.1K21
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android免权限悬浮窗组件 - FloatingX

    FloatingX ,一个强大的免权限悬浮窗组件,支持全局,以及局部悬浮窗。...背景 在前几个月的业务开发中,我们 app 需要对悬浮窗进行更改,常见的悬浮窗实现方式分为两种: 前者是获取权限后,利用 WindowManager 实现 后者是基于 DecorView 实现的插入悬浮窗...App 级别悬浮窗 基于 DecorView 的的实现方案,全局持有一个单独的悬浮窗 View ,通过 AppLifecycle 监听 Activity 生命周期,并在相应时机 插入到 DecorView...插入到 DecorView 可以最大程度控制悬浮窗的自由度,即悬浮窗可以真正意义上[全屏]拖动。...感谢 基础 悬浮窗View 源自 EnFloatingView 的 FloatingMagnetView 实现方式,并在其基础上增加了一些改进。

    2.4K21

    实战总结 Android 悬浮窗适配方案

    背景 ---- 游戏内的悬浮窗通常情况下只出现在游戏内,用做切换账号、客服中心等功能的快速入口。...本文将介绍几种实现方案,以及我们踩过的坑 方案一:应用外悬浮窗+栈顶权限/生命周期回调 ---- 通常实现悬浮窗,首先考虑到的会是要使用悬浮窗权限,用 WindowManager 在设备界面上 addView...实现( UI 层级较高,应用外显示) 1、弹出悬浮窗需要用到悬浮窗权限 悬浮窗权限--> android:name="android.permission.SYSTEM_ALERT_WINDOW"/> 2、判断悬浮窗游戏内外显示...但是这种方案有如下缺点: 适配问题,悬浮窗权限在不同设备上由于不同产商实现不同,适配难 向用户申请权限,打开率较低,体验较差 方案二:addContentView实现 ---- 原理:Activity

    1.3K10

    Android仿微信文章悬浮窗效果

    序言 前些日子跟朋友聊天,朋友Z果粉,前些天更新了微信,说微信出了个好方便的功能啊,我问是啥功能啊,看看我大Android有没有,他说现在阅读公众号文章如果有人给你发微信你可以把这篇文章当作悬浮窗悬浮起来...,方便你聊完天不用找继续阅读,听完是不是觉得这叫啥啊,我大Android微信版不是早就有这个功能了吗,我看文章的时候看到过有这个悬浮按钮,但是我一直没有使用过,试了一下还是挺方便的,就想着自己实现一下这个功能...实现 1、权限 首先我们要考虑的一个问题就是权限问题,因为要适配Android 7.0 8.0,添加悬浮窗是需要申请权限的,这里参考了Android 悬浮窗权限各机型各系统适配大全这篇文章,适配的比较全...- 200; 26 mLayoutParams.y = 0; 27 mWindowManager.addView(mView, mLayoutParams); 28} 3、View的拖拽实现...借助WindowManager.LayoutParams来实现,mLayoutParams.x和mLayoutParams.y分别表示mView左上角的横纵坐标,所以我们只需要改动这两个值就行了,当ACTION_UP

    1.5K30

    Android各版本查询和开启悬浮窗权限

    Android 各版本查询和开启悬浮窗权限 如果你是从事Android开发的程序员,那么你肯定对于权限这个词不会陌生,Android的权限分为一般权限和危险权限,一般权限(只需在AndroidManifest.xml...悬浮窗权限 悬浮窗权限不同于其他的权限如相机、相册、文件读写权限等,这些权限,动态申请后,用户只要的应用里面弹出来的提示框里面开启就可以了,并不会离开应用,而开启悬浮窗权限用户则需要进入到应用列表或者是应用详情里面开启悬浮窗权限...业务逻辑: APP默认是没有开启这个悬浮窗权限的,所以需要申请,而申请之后又要先判断有没有开启这个权限,这个判断是很重要的,你总不能每次都让用户去应用列表看这个权限有没有开启吧。...判断也是要分Android的版本的,如Android6.0、Android6.0至Android8.0、Android8.0以上,更低的版本就不考虑了,(你不要和我说你现在还用着Android4.4或者..." /> 权限检查 //判断是否开启悬浮窗权限 context可以用你的Activity.或者tiis public static boolean checkFloatPermission

    10.1K10

    Android经典实战之WindowManager和创建系统悬浮窗

    创建系统悬浮窗的步骤 1....检查并请求权限 在Android 6.0及更高版本中,用户需要在设置中手动授予悬浮窗权限。你需要在应用启动时检查并请求用户授权悬浮窗权限。 if (!...实现悬浮窗口 创建一个悬浮窗口类,并利用 WindowManager 将其添加到窗口层级中。...资源管理:确保在销毁 Service 时清理并移除悬浮窗,避免内存泄漏。 交互设计:注意悬浮窗不应影响正常的应用使用体验,避免高频干扰用户。...通过以上步骤,你可以构建一个简单的系统悬浮窗,并且确保它在 Android 系统的不同版本中正常工作。 END 点赞转发,让精彩不停歇!关注我们,评论区见,一起期待下期的深度好文!

    33610

    悬浮窗开发设计实践

    3.1 业务思考点分析3.2 关键技术要点3.3 应用悬浮窗3.4 添加浮窗源码流程3.5 理解WMS原理3.6 拖拽回弹吸附04.开发重要步骤4.1 悬浮窗实现流程4.2 请求悬浮窗权限4.3 初始化悬浮窗...4.4 设置悬浮窗参数4.5 添加View到悬浮窗4.6 悬浮窗拖拽实现4.8 悬浮窗权限适配4.9 LayoutParam坑05.方案基础设计5.1 整体架构图5.2 UML设计图5.3 关键流程图5.4...3.3 应用悬浮窗应用内悬浮窗实现流程1.获取WindowManager;2.创建悬浮View;3.设置悬浮View的拖拽事件;4.添加View到WindowManager中对于应用悬浮窗来说,Android...04.开发重要步骤4.1 悬浮窗实现流程应用内悬浮窗实现流程第一个是获取WindowManager,然后设置相关params参数。...4.6 悬浮窗拖拽实现如何实现悬浮窗可随手指拖动?

    2.5K40

    Android桌面悬浮窗进阶,QQ手机管家小火箭效果实现

    记得在今年年初的时候,我写的第一篇文章是模仿360手机卫士的桌面悬浮窗效果,那么为了能够首尾呼应,今年的最后一篇文章就同样还是来实现桌面悬浮窗的效果吧,当然效果将会更加高级。...这次我们将代码的重点放在火箭升空的效果上,因此简单起见,就直接在模仿360手机卫士悬浮窗的那份代码的基础上继续开发了,如果你还没有看过那篇文章的话,建议先去阅读 Android桌面悬浮窗效果实现,仿360...手机卫士悬浮窗效果 。...比起普通的桌面悬浮窗,现在我们需要在拖动悬浮窗的时候将悬浮窗变成一个小火箭,并且在屏幕的底部添加一个火箭发射台。...(包括小悬浮窗和大悬浮窗)显示在屏幕上。

    2.3K70

    Android 无需权限显示悬浮窗, 兼谈逆向分析 App

    看到这里, 我也觉得很奇怪, 我在悬浮窗原理中写的是我知道的实现悬浮窗的方法, UC 的实现好像跟我调用的是相同的 API, 也没看到反射之类可能展示奇技淫巧的代码, 为什么 UC 就可以不需要权限直接显示悬浮窗呢...关于针对源代码的分析, 请看 Android 悬浮窗使用 TYPE_TOAST 的小结 实测效果 我之前写的一个 app 有悬浮窗播放功能, 支持拖动窗口和点击暂停, 关闭窗口等等, 在 4.4.4 上实测功能正常...无权限悬浮窗演示 gif 感谢微博上关注的大神廖祜秋, 他做了个 demo, 虽然交互和 UC 不同, 可以参考一下实现....(并且给一个 Activity 的话按下 HOME 键会出现看不到桌面上的图标异常情况)TYPE_TOAST: 不属于悬浮窗, 但有悬浮窗的功能, 缺点是在 Android2.3 上无法接收点击事件TYPE_SYSTEM_ALERT...: 属于悬浮窗, 但是会被禁止 尾声 现在我们都知道了如何在不申请权限的情况下显示悬浮窗, 我相信以中国 Android 开发者的脑洞, 一定会有很多有趣或恶心的功能被开发出来, 一方面我自己觉得这个东西很有用

    3.2K101

    Android开发笔记(一百一十八)自定义悬浮窗

    悬浮窗一般不设置该标志,因为一旦设置该标志,将无法拖动悬浮窗。...静态悬浮窗 悬浮窗有点类似对话框,它们都是独立于Activity页面的窗口,但是悬浮窗又有一些与众不同的特性,例如: 1、悬浮窗是可以拖动的,对话框则不能; 2、悬浮窗不妨碍用户触摸窗外的区域,...,并根据用户的手势滑动来相应调整窗口位置,以实现悬浮窗的拖动功能; 3、合理设置悬浮窗的窗口参数,主要是把窗口参数的显示类型设置为TYPE_SYSTEM_ALERT或者TYPE_SYSTEM_ERROR...在实际开发中,悬浮窗的展示内容是变化的,毕竟一个内容不变的悬浮窗对用户来说没什么用处。...要想实时刷新悬浮窗,这得通过服务Service来实现,所以动态悬浮窗要在Service服务中创建和更新,页面只负责启动/停止服务。

    2.1K21
    领券