不依赖activity的全局对话框的实现
来源:互联网 发布:办公软件基础教程 编辑:程序博客网 时间:2024/05/16 05:50
实现不依赖于Activity的全局对话框有三种方式:
第一个方法利用系统弹出dialog
在alter.show()语句前加入:
alert.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
然后在AndroidManifest.xml中加入权限:Android.permission.SYSTEM_ALERT_WINDOW
第二个方法是获取WindowManager,直接添加view
wmParams = new WindowManager.LayoutParams(); //获取的是WindowManagerImpl.CompatModeWrapper mWindowManager = (WindowManager)getApplication().getSystemService(getApplication().WINDOW_SERVICE); //设置window type wmParams.type = LayoutParams.TYPE_PHONE; //设置浮动窗口不可聚焦(实现操作除浮动窗口外的其他可见窗口的操作) wmParams.flags = LayoutParams.FLAG_NOT_FOCUSABLE; //调整悬浮窗显示的停靠位置为左侧置顶 wmParams.gravity = Gravity.LEFT | Gravity.TOP; // 以屏幕左上角为原点,设置x、y初始值,相对于gravity wmParams.x = 0; wmParams.y = 0; //设置悬浮窗口长宽数据 wmParams.width = WindowManager.LayoutParams.WRAP_CONTENT; wmParams.height = WindowManager.LayoutParams.WRAP_CONTENT; LayoutInflater inflater = LayoutInflater.from(getApplication()); //获取浮动窗口视图所在布局 mFloatLayout = (LinearLayout) inflater.inflate(R.layout.float_layout, null); //添加mFloatLayout mWindowManager.addView(mFloatLayout, wmParams);
第三个方法是使用一个透明的activity当背景,在该Activity上弹出对话框
这种比较简单,就相当于常规显示对话框
在项目中遇到同一账号异地登录顶替的对话框出现 第一次可以弹出 第二次弹出报错 所以看到此文章
1 0
- 不依赖activity的全局对话框的实现
- 不依赖于Activity的全局对话框的实现
- Android不依赖Activity的全局悬浮窗实现
- Android 不依赖activity的全局悬浮窗实现
- Android不依赖activity的全局弹框
- android 全局对话框(不依赖具体activity)
- Android实现不依赖activity的dialog
- android中不依赖activity的dialog弹窗的实现
- Android 不依赖activity的dialog
- Service中调节屏幕亮度(不依赖Activity)的实现
- Android 用service实现不依赖activity的版本更新功能
- Android菜鸟笔记-Service中弹出对话框,即全局性质Dialog不依赖于Activity
- 自定义不依赖于Activity的Toast
- CXF 不依赖spring的实现
- 不依赖于DLL就能正常工作的全局钩子
- 不依赖于DLL就能正常工作的全局钩子
- 不依赖于DLL就能正常工作的全局钩子
- 不依赖于DLL就能工作的全局钩子
- 在VS中添加lib库的三种方法
- 69. Sqrt(x)
- 使用idea开发spark 实战
- 我的单片机世界第一盏灯
- 经济动向a
- 不依赖activity的全局对话框的实现
- nvidia-docker学习笔记
- 业务流程为主线的分解结构
- 单片机LED闪烁
- 使用java开发spark 实战
- 微软100题15题(输入一颗二元查找树,将该树转换为它的镜像)
- Ajax同步请求出现浏览器页面假死,阻塞UI线程之解决方案
- 使用java证书开发包,测试开发用例
- Mysql配置文件my.ini一般配置方法