HarryWeasley的专栏

生命不息,奋斗不止

PopupWindow响应返回键的问题

 假设情景是这样的:在一个Activity中弹出一个PopupWindow,要求在按返回键时关闭该PopupWindow。

    

 如果该PopupWindow是无焦点的(默认情况),那么可以在Activity中响应返回键(onBackPressed),然后关闭它。

  

 如果该PopupWindow是有焦点的,那么在它弹出来之后,所有的按键和触摸事件都会被它截获,包括返回键。

 

 让PopupWindow获得焦点有两种方法,第一种是在创建的时候指定,第二种是在创建之后,调用它的setFocusable方法指定。

 

 但是仅仅使PopupWindow获得焦点还不行,此时它不响应返回键,也就是说,按返回键的时候PopupWindow并不会关闭。

  

  如果需要PopupWindow响应返回键,那么必须给PopupWindow设置一个背景才行,下面是通常的做法:

setFocusable(true);
ColorDrawable dw = new ColorDrawable(0x00000000);
setBackgroundDrawable(dw);


关于半透明的popupWindow,可以查看这篇文章:http://blog.csdn.net/harryweasley/article/details/41283129


阅读更多
个人分类: 弹出框
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

PopupWindow响应返回键的问题

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭