android - 安卓实现窗口总在最前
PHP中文网
PHP中文网 2017-04-17 13:00:35
[Android讨论组]

安卓开发的时候如何实现窗口总在最前,就像360那种桌面浮窗一样?

或者有没有哪位大神用过而且了解按键精灵手机版那种界面,当开启的时候就会有一个窗口在右边悬浮的,然后任何程序下都能实现总在最前

请问这种是怎么实现的,或者有没有什么实现思路,谢谢。

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(2)
大家讲道理

你不是自己都挂上 浮窗 的Tag了么....这随便百度Google都是大把的答案...

WindowManager.LayoutParams wmParams = new WindowManager.LayoutParams();  
WindowManager mWindowManager = (WindowManager)getApplication().getSystemService(getApplication().WINDOW_SERVICE);  
wmParams.type = LayoutParams.TYPE_PHONE;   
wmParams.format = PixelFormat.RGBA_8888;   
wmParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE;        
wmParams.gravity = Gravity.LEFT | Gravity.TOP;         
wmParams.x = 0;  
wmParams.y = 0;  
wmParams.width = WindowManager.LayoutParams.WRAP_CONTENT;  
wmParams.height = WindowManager.LayoutParams.WRAP_CONTENT;  
LayoutInflater inflater = LayoutInflater.from(getApplication());  
LinearLayout view = (LinearLayout) inflater.inflate(R.layout.your_悬浮窗, null);  
mWindowManager.addView(view, wmParams);  

核心就是个 WindowMananger...
使用 WindowMananger.LayoutParams.TYPE_PHONE模式时,就是 在任意界面中 总在最前
需要 android.permission.SYSTEM_ALERT_WINDOW 权限


当然是可以且测试过了...给你上截图

测试机器 Nexus5 Android 5.0.1

Demo工程地址: http://pan.baidu.com/s/1dDtjOYl

高洛峰

参考下这个项目吧

https://github.com/pingpongboss/StandOut

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号