PopupWindow响应返回键的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PopupWindow响应返回键的问题相关的知识,希望对你有一定的参考价值。
假设情景是这样的:在一个Activity中弹出一个PopupWindow,要求在按返回键时关闭该PopupWindow。
如果该PopupWindow是无焦点的(默认情况),那么可以在Activity中响应返回键(onBackPressed),然后关闭它。
如果该PopupWindow是有焦点的,那么在它弹出来之后,所有的按键和触摸事件都会被它截获,包括返回键。
让PopupWindow获得焦点有两种方法,第一种是在创建的时候指定,第二种是在创建之后,调用它的setFocusable方法指定。
但是仅仅使PopupWindow获得焦点还不行,此时它不响应返回键,也就是说,按返回键的时候PopupWindow并不会关闭。
如果需要PopupWindow响应返回键,那么必须给PopupWindow设置一个背景才行,下面是通常的做法:
setFocusable(true); ColorDrawable dw = new ColorDrawable(0x00000000); setBackgroundDrawable(dw);
以上是关于PopupWindow响应返回键的问题的主要内容,如果未能解决你的问题,请参考以下文章
PopupWindow+listview产生的焦点问题,求解