Android悬浮窗实现 使用WindowManager
2015-09-10 15:55
351 查看
Android悬浮窗实现 使用WindowManager
/article/4672093.htmlWindowManager介绍
通过Context.getSystemService(Context.WINDOW_SERVICE)可以获得WindowManager对象。
每一个WindowManager对象都和一个特定的
Display绑定。
想要获取一个不同的display的WindowManager,可以用
createDisplayContext(Display)来获取那个display的
Context,之后再使用:
Context.getSystemService(Context.WINDOW_SERVICE)来获取WindowManager。
使用WindowManager可以在其他应用最上层,甚至手机桌面最上层显示窗口。
调用的是WindowManager继承自基类的addView方法和removeView方法来显示和隐藏窗口。具体见后面的实例。
另:API 17推出了
Presentation,它将自动获取display的Context和WindowManager,可以方便地在另一个display上显示窗口。
WindowManager实现悬浮窗例子
声明权限首先在manifest中添加如下权限:
<!-- 显示顶层浮窗 --> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
注意:在MIUI上需要在设置中打开本应用的”显示悬浮窗”开关,并且重启应用,否则悬浮窗只能显示在本应用界面内,不能显示在手机桌面上。
服务获取和基本参数设置
// 获取应用的Context mContext = context.getApplicationContext(); // 获取WindowManager mWindowManager = (WindowManager) mContext .getSystemService(Context.WINDOW_SERVICE);
参数设置:
popupwindow.xml
点击外部可消除设置:
MainActivity
WindowUtils
参考资料
WindowManager:http://developer.android.com/reference/android/view/WindowManager.html
参考实例:
/article/1821818.html
http://www.xsmile.net/?p=538
/article/1562169.html
简单说明:
Android之Window、WindowManager与窗口管理:
http://blog.csdn.net/xieqibao/article/details/6567814
Android系统服务-WindowManager:
http://blog.csdn.net/chenyafei617/article/details/6577940
进一步的学习:
老罗的Android之旅:
Android Activity的窗口对象Window的创建过程分析:
/article/1363513.html
窗口管理服务WindowManagerService的简要介绍和学习计划:
/article/1363507.html
Android核心分析之窗口管理:
/article/1361712.html
相关文章推荐
- [Android Studio 权威教程]打包、生成jks密钥、签名Apk、多渠道打包
- Android AlertDialog
- android批量文件上传(android批量图片上传)
- Android apk动态加载机制的研究(二):资源加载和activity生命周期管理
- Android apk动态加载机制的研究
- 实现Android 动态加载APK(Fragment or Activity实现)
- Android Picasso异步加载图片库
- 关于android版本截图功能
- android SQLiteOpenHelper使用示例
- spanned android
- android 设计模式——单例模式
- Android一个边下载边存储的启发例子
- Android开发之动画效果浅析
- Android实现定时器的方法
- Square:从今天开始抛弃Fragment吧!
- Android之layout属性介绍
- 客户端 ios与android 的判断
- Android 内存溢出 内存泄漏(一)
- android中的跨进程服务组件aidl
- Androidの自定义对话框AlertDialog(二)