让Android屏幕不响应任何点击
FBI Warning:欢迎转载,但请标明出处:http://blog.csdn.net/codezjx/article/details/45220101,未经本人同意请勿用于商业用途,感谢支持!
原理:在顶层显示一个Dialog,让其不可Cancel(无法响应任何点击),并将其设置为最顶层的type,然后将其灰色区域设置为透明即可完成该效果(免Root,免系统权限,亲测包括Android5.0也有这个漏洞)。下面是详细代码与解析:
Dialog dialog = new AlertDialog.Builder(getApplicationContext(), R.style.Transparent)
.setView(view)
.create();Window window = dialog.getWindow();
WindowManager.LayoutParams params = window.getAttributes();
params.gravity = Gravity.BOTTOM;
params.width = WindowManager.LayoutParams.WRAP_CONTENT;
params.height = WindowManager.LayoutParams.WRAP_CONTENT;
window.setAttributes(params);
window.setType(WindowManager.LayoutParams.TYPE_SYSTEM_ERROR);dialog.setCancelable(false);
dialog.show();
Dialog的背景Style:
<style name="TransparentWindowBg"> <item name="android:windowBackground">@android:color/transparent</item>
</style>
必须注意以下几点:
1:使用getApplicationContext()而不是Activity Context。因为使用activity context不能覆盖底部那条Navigation Bar,用application context则影响范围可以覆盖整个屏幕(屌爆了有木有)。
2:创建dialog的时候在构造函数传入一个Transparent的style,这个方法能dialog周围的灰色区域变为透明,更神不知鬼不觉,感觉有点猥琐了有木有。
3:设置window type为WindowManager.LayoutParams.TYPE_SYSTEM_ERROR,查看官方文档: internal system error windows, appear on top of everything they can,他是系统内部错误弹窗,显示在任何界面之上,权限这个是最高的。
4:最后Manifest加入以下权限
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
使用上面的方法的时候一定要注意:这层view会在锁屏界面之上、还有长按电源键的关机dialog之上。所以,屏蔽了之后,除非你长按power键关机,否则只能通过代码将其移除解决屏蔽。使用场景的话,各位程序猿发挥创造力吧!
让Android屏幕不响应任何点击相关推荐
- Android点击无响应,Android Studio无响应打不开的解决办法
最近谷歌发布了Android Studio,下载安装之后,在使用时发现一个问题,那就是发布无响应且无法启动,也就是点击Android图标的时候没有任务反应,我想说的是你需要重新配置一下环境~ 因为这个 ...
- android 屏幕点击没反应,华为手机触摸屏没反应怎么办?解决手机触摸屏时灵时不灵的办法...
华为手机(Mate7,荣耀6 Plus,荣耀6,P7)有时候触摸没反应,等一下又突然好了,或者屏幕的某些位置点击了没有反应,该怎么办? 1.先确认是否是后台开启的软件太多了或者开启了非常耗内存的游戏和 ...
- Android屏幕适配全攻略(最权威的官方适配指导)(转),共大家分享。
Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因.重要概念.解决方案及最佳实践,我相信如果你能认真的学习 ...
- Android屏幕适配全攻略(最权威的官方适配指导) (转)
招聘信息: Cocos2d-X 前端主程 [新浪微博]手机客户端iOS研发工程师 20k-40k iOS 开发工程师 iOS高级开发工程师(中国排名第一的企业级移动互联网云计算公司 和创科技 红圈营销 ...
- 【收藏】Android屏幕适配全攻略(最权威的Google官方适配指导)
来源:http://blog.csdn.net/zhaokaiqiang1992 更多:Android AutoLayout全新的适配方式, 堪称适配终结者 Android的屏幕适配一直以来都在折磨着 ...
- Android 系统(186)---最易懂的Android屏幕适配解决方案--总结版
最易懂的Android屏幕适配解决方案--总结版 本文参考自: Google的官方权威适配文档 郭霖:Android官方提供的支持不同屏幕大小的全部方法 Stormzhang:Android 屏幕适配 ...
- Android屏幕图片资源大小
Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因.重要概念.解决方案及最佳实践,我相信如果你能认真的学习 ...
- Android屏幕适配全方位解析与指导
Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因.重要概念.解决方案及最佳实践,我相信如果你能认真的学习 ...
- (转)Android屏幕适配全攻略
转载自http://blog.csdn.net/zhaokaiqiang1992 Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了A ...
最新文章
- 数据挖掘过程中:数据预处理
- linux创建sftp用户并指定访问目录,linux – 创建SFTP用户只能访问一个目录.
- CASS软件学习笔记
- 我的虚拟化设想(My virtualization vision)
- magento图片处理 Customize Magento’s Image Resize Functionality
- c++异步日志队列_Logback 配置文件这么写,日志 TPS 提高 10 倍
- [转]将西部数据 My Passport Wireless 移动存储连接到任何支持的云存储上
- 关于redis key命名规范的设计
- CC2530睡眠唤醒
- 智能优化算法:基于Powell优化的鸽群优化算法
- execute()方法
- 我爱淘冲刺阶段站立会议2每天任务5
- CSS3鼠标悬停360度旋转效果
- matlab gram schmidt,如何在 MATLAB 中用 行代码实现 Gram-Schmidt 正交化
- 【励志篇】我的创业历程总结
- 数字逻辑练习题(一)
- PC机之间串口通信传输文件
- 【根文件系统 】开发板通过nfs挂载ubuntu上的根文件系统
- 怎么查看linux服务器品牌,怎么查看Linux服务器硬件信息,这些命令告诉你
- ADX集团宣布2020年上市计划