悬浮窗一般用来显示当前脚本运行的状态和信息,是最为重要的人机交互方式。悬浮窗在脚本停止运行时会自动关闭,因此,要保持悬浮窗不被关闭,需要用一个空的setInterval来实现。
没有使用electron内置的-webkit-app-region: drag 因为使用他那个有很多问题 比如事件无法使用 右键无法使用 以及不能使用手型等!
首先,我们需要知道,悬浮窗分为两种:Activity级别的悬浮窗,系统级别的悬浮窗 Activity级别的悬浮窗跟随所属Activity的生命周期而变化,而系统级别的悬浮窗则可以脱离Activity而存在。 由此可知,要实现360手机卫士那样的悬浮窗效果,就需要使用系统级别的悬浮窗 下面学习实现桌面悬浮窗效果的代码步骤: Demo描述,悬浮窗为一个ImageView ,可以在桌面 ,任意应用,锁屏上方任意移动 1、配置清单文件AndroidManifest.xml 中 添加系统悬浮窗的权限 <use
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
我使用播放器的时候,有时候需要使用其它的应用,这时候又想播放器继续播放视频,又不想应用被杀掉,这个时候会悬浮窗功能。
在项目中需要对接入的腾讯云音视频,可以悬浮窗显示,悬浮窗可拖拽,并且在悬浮窗不影响其他的activity的焦点。
Android 平台支持无障碍服务的 JavaScript 自动化工具 需要 Android 7.0 (API 24) 及以上 克隆 (clone) 自 hyb1996/Auto.js
其中第一篇就是里面有针对android8.0后怎么开启悬浮窗的权限问题,必须要把应用的顶层权限开启才可以使用。
在前几个月的业务开发中,我们 app 需要对悬浮窗进行更改,常见的悬浮窗实现方式分为两种:
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
前段时间,鄙司的张涛小朋友被指定去开发一个小功能,结果差点中毒!幸亏抢救及时,目前已经可以继续装逼,请祖国放心! ------------你TM居然在代码里下毒------------ 开源代码要慎用,容易中毒 先说感受再看看我是怎么中毒以及怎么解毒的。 何为中毒,并不是说性能多么差,也不是代码多么烂,而是你容易受到别人代码的影响,不知不觉间就顺着他的思路走了。 当然,有一种避免的办法就是,拿来主义。我只拿你的代码用,完全不看你怎么写的,也不做功能定制和扩
本文主要介绍了一种基于Android平台的悬浮窗实现方案,通过系统服务、自定义View和Handler实现悬浮窗的显示和隐藏,并利用ViewTreeObserver监听屏幕变化来实现悬浮窗的自动调整位置。同时,还提供了一个工具类实现悬浮窗的点击、滑动、长按等事件处理。
悬浮窗,大家应该也不陌生,凌驾于应用之上的一个小弹窗,实现上很简单,就是添加一个系统级别的窗口,Android中通过WindowManagerService( WMS)来管理所有的窗口,对于WMS来说,管你是Activity、Toast、Dialog,都不过是通过WindowManagerGlobal.addView()添加的一个个View。
现在很多应用都使用到悬浮窗,例如微信在视频的时候,点击Home键,视频小窗口仍然会在屏幕上显示。这个功能在很多情况下都非常有用。那么今天我们就来实现一下Android悬浮窗,以及探索一下实现悬浮窗时的易错点。
前言 最近 UC 浏览器中文版出了一个快速搜索的功能, 在使用其他 app 的时候, 如果复制了一些内容, 屏幕顶部会弹一个窗口, 提示一些操作, 点击后跳转到 UC, 显示这个悬浮窗不需要申请and
Android的四大组件之一的Activity(活动):Activity是一个应用程序的组件,他在屏幕上提供了一个区域,允许用户在上面做一些交互性的操作, 比如打电话,照相,发送邮件,或者显示一个地图!Activity可以理解成一个绘制用户界面的窗口, 而这个窗口可以填满整个屏幕,也可能比屏幕小或者浮动在其他窗口的上方!
最近在一个项目中,需要制作录屏的功能,原先是在应用中有录屏/控制的按钮,思考之下觉得这种效果并不好,因此就想制作一个可以悬浮的悬浮窗,这样不论手机在什么界面中都可以对录屏功能进行控制。
我们在很多android应用中可能会看到悬浮窗按钮,最多的应该就是360了,通过代码我们也可以实现这个功能
在前面《Android开发笔记(六十六)自定义对话框》中,我们提到每个页面都是一个Window窗口,许多的Window对象需要一个管家来打理,这个管家我们称之为WindowManager窗口管理。在手机屏幕上新增或删除页面窗口,都可以归结为WindowManager的操作,下面是该管理类的常用方法说明: getDefaultDisplay : 获取默认的显示屏信息。通常用该方法获取屏幕分辨率,详情参见《Android开发笔记(三)屏幕分辨率》。 addView : 往窗口添加视图。第二个参数为WindowManager.LayoutParams对象。 updateViewLayout : 更新指定视图的布局参数。第二个参数为WindowManager.LayoutParams对象。 removeView : 往窗口移除指定视图。 下面是窗口布局参数WindowManager.LayoutParams的常用属性说明: format : 窗口的像素点格式。取值见PixelFormat类中的常量定义,一般取值PixelFormat.RGBA_8888。 type : 窗口的显示类型,常用的类型说明如下: --TYPE_SYSTEM_ALERT : 系统警告提示。 --TYPE_SYSTEM_ERROR : 系统错误提示。 --TYPE_SYSTEM_OVERLAY : 页面顶层提示。 --TYPE_SYSTEM_DIALOG : 系统对话框。 --TYPE_STATUS_BAR : 状态栏 --TYPE_TOAST : 短暂通知Toast flags : 窗口的行为准则,常用的标志位如下说明(对于悬浮窗来说,一般只需设置FLAG_NOT_FOCUSABLE): --FLAG_NOT_FOCUSABLE : 不能抢占焦点,即不接受任何按键或按钮事件。 --FLAG_NOT_TOUCHABLE : 不接受触摸屏事件。悬浮窗一般不设置该标志,因为一旦设置该标志,将无法拖动悬浮窗。 --FLAG_NOT_TOUCH_MODAL : 当窗口允许获得焦点时(即没有设置FLAG_NOT_FOCUSALBE标志),仍然将窗口之外的按键事件发送给后面的窗口处理。否则它将独占所有的按键事件,而不管它们是不是发生在窗口范围之内。 -- : --FLAG_LAYOUT_IN_SCREEN : 允许窗口占满整个屏幕。 --FLAG_LAYOUT_NO_LIMITS : 允许窗口扩展到屏幕之外。 --FLAG_WATCH_OUTSIDE_TOUCH : 如果设置了FLAG_NOT_TOUCH_MODAL标志,则当按键动作发生在窗口之外时,将接收到一个MotionEvent.ACTION_OUTSIDE事件。 alpha : 窗口的透明度,取值为0-1。 gravity : 取值同View的setGravity方法。 x : 窗口左上角的X坐标。 y : 窗口左上角的Y坐标。 width : 窗口的宽度。 height : 窗口的高度。
本文例子实现了点击显示悬浮窗口,同时窗口可播放视频,拖动位置,点击关闭及返回 APP 页面,通过例子来讲述悬浮窗口实现原理及细节处理,效果图如下所示:
这个也就是大家熟知的 Win G 启动的录屏软件,一般 Windows 系统中是自带了的,如果没有,也能通过 Windows 应用商店快速安装。
前几天我刚写了一篇《Android实现可移动的悬浮窗》的文章,需要在AndroidManifest.xml里的加上权限申请
博客:https://www.jianshu.com/p/1d22edea2647
最近项目targetSdkVersion升级到了26,出现很多问题趟了很多坑,其中就包括本篇的需要解决的问题:全局dialog 不显示。
创建悬浮窗的时候通过 isShowLog 属性控制,不同的悬浮窗 Log 会通过不同 key 显示出来
本文实例为大家分享了Android实现触摸移动的悬浮窗的具体代码,供大家参考,具体内容如下
首先想到的是申请悬浮窗权限,OK~ 打开搜索引擎,映入眼帘的并不是如何申请,而是“Android 悬浮窗权限各机型各系统适配大全、Android 绕过权限显示悬浮窗…”,为什么悬浮窗权限会有这么多坑呢?悬浮窗可以在桌面显示,被恶意软件用来偷偷弹广告怎么办?作为一个系统级别的特殊权限,这是它应有的高傲 – –
最近因为项目需要,自己实现了个可以自由移动,并且长按可以跳出一个控制播放的,大的悬浮窗。
之前接了需求要让视频播放时可以像优酷视频那样在悬浮窗里播放,并且悬浮窗和主播放页面之间要实现无缝切换,项目中使用的是自封装的ijkplayer 这个要求就代表不能在悬浮窗中新建视频控件,所以需要在悬浮窗中复用主页面的视频控件,以达到无缝衔接的效果。
不管是小程序还是软件网页等,页面上的悬浮窗总是能够引起我们的注意,而一个悬浮窗的实现,在微信小程序开发的官方文档中,可将其理解为一个可移动视图容器,那么该使用什么组件来实现这样一个功能呢?
很多时候,我们使用xx卫士/管家只是为了使用它的网速监控悬浮功能,这次墙裂推荐一个小众软件TrafficMonitor,极简的网速监控悬浮窗软件,软件虽小但很精致,终于能摆脱xx卫士/管家了~
上海疫情泛滥,很多人都抢不到菜,我也是其中一员,每天早上要五点半起来上叮咚买菜抢菜,每次手速慢就抢不到了,所以就只能挨饿了。作为一个程序猿,能通过技术手段抢就绝不动手。我通过这个方法连续两天抢到菜,可能也有一部分运气原因,毕竟本人运气一直都不错。
本文实例为大家分享了android桌面悬浮窗,实现录屏时间控制显示效果的具体代码,供大家参考,具体内容如下
这篇博客主要介绍的是 Android 主流各种机型和各种版本的悬浮窗权限适配,但是由于碎片化的问题,所以在适配方面也无法做到完全的主流机型适配,这个需要大家的一起努力,这个博客的名字永远都是一个将来时。
Hello大家早上好,说起PermissionX,其实我已经有段时间没有更新这个框架了。一是因为现在工作确实比较忙,没有过去那么多的闲暇时间来写开源项目,二是因为,PermissionX的主体功能已经相当稳定,并不需要频繁对其进行变更。
如果你是从事Android开发的程序员,那么你肯定对于权限这个词不会陌生,Android的权限分为一般权限和危险权限,一般权限(只需在AndroidManifest.xml文件中声明即可),危险权限(需要手动申请),接下来进入正题。
音视频播放对于现在的互联网应用来说,已经是不可或缺的功能之一。作为一个 App 开发者,开发一个音视频播放功能,说难不难,说简单也不简单,我们常常会面临几个抉择:
应用常见的高危权限及使用场景,继已经发布的位置权限、短信权限、存储权限合理/不合理使用场景外,本期将为大家介绍悬浮窗、监听通知栏合理及不合理使用场景。
华为EMUI10.1的智慧分屏功能,多任务处理+应用分屏+悬浮窗口的设计让用户在操作时毫不费力,优化了人与机器的智慧交互体验,帮助用户大幅提升工作效率。如何让自己的应用快速适配,第一时间抢占新的应用入口呢?
悬挂式Notification,他是5.0中新增的,也就是API中的Headsup的Notification,可以在不打断用户操作的时候,给用户通知
M版本以上需要使用的Type--> TYPE_APPLICATION_OVERLAY
本文提出了一种通过辅助功能自动开启App相关权限的方法,该方法通过解析库文件实现权限的自动开启。主要步骤包括:1、解析库文件,获取权限开启列表;2、根据用户输入的参数和已开启的权限,生成待开启权限列表;3、根据待开启权限列表,开启相应的权限。该方法能够减少用户开启权限的等待时间,提升用户的体验。同时,该方法还具有很好的拓展性和可维护性。
悬浮窗即可以显示在宿主应用之外的 View 视图,理论上任何 View 都能以悬浮窗形式展示在宿主应用之外甚至锁屏界面,一般在工具类应用中使用的比较多,通过悬浮窗可以很方便的从外界与宿主应用进行交互,例如金山词霸的锁屏单词功能、AirDroid 的录制屏幕菜单、360优化大师的清理悬浮按钮等。
大家在使用主流的视频软件以及直播软件的时候,经常会看到打开视频最小化以后,不是直接关闭,而是在屏幕右下角一个小窗口的样子,本次小编就给大家带来的是用Android实现在视频或者语音通话的时候,最小化也是出现一个悬浮框的效果。
要知道阿里每年都会发放大量红包、各种优惠券和各种互助游戏......而这两天,马爸爸的“ATM”们可都沉迷于这些个互助游戏里不可自拔,吾日三省吾身:签到了?做任务了么?升级了么?:
1. 通过Android设备连接到PC上进行弱网络测试,比如Fiddler,Charles,NET-Simulator等。基本思路是在PC上装一个Fiddler网络抓包工具,然后再将Android设备的网络代理到PC上,通过在PC上的Fiddler在设置延时来进行弱网络模拟。
2020年11月12日,由软件绿色联盟、华为联合举办的第七期折叠屏UX规范技术沙龙在线上成功举办。
之前写过很多 App 端自动化的文章,大都基于 Appium、Airtest、无障碍服务等技术来实现的
最近在改bug的时候发现在windowManager.addView的时候会发生莫名其妙的崩溃,那个崩溃真的是让你心态爆炸,潜心研究了两天window相关的东西,虽然不是很深奥的东西,本人也只是弄清楚了window的添加逻辑,在此分享给大家:
领取专属 10元无门槛券
手把手带您无忧上云