Android开发:屏蔽Home键功能后,对话框显示不正常问题

本文介绍了一种屏蔽Android设备Home键的方法,并解决了因此导致的对话框显示异常问题。通过重写`onAttachedToWindow`方法并调整窗口类型设置,实现了功能的同时保证了用户体验。

情景问题:

最近有个需求:屏蔽Home键功能,于是我找度娘看看,刚开始觉得很简单,但是后来发现,如果添加了屏蔽Home键的功能,对话框的显示出来问题,折腾了几小时,才解决掉。


解决方法:

第一步:重写onAttachedToWindow,以实现屏蔽Home键

public void onAttachedToWindow() {  
    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);  
    super.onAttachedToWindow();  
}  


注意:这里用的TYPE_KEYGUARD_DIALOG,原本是TYPE_KEYGUARD,这会导致对话框显示异常
第二步:在显示对话框dialog.show()下添加代码:

dialog.show();  
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);  

参考资源:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值