首页 > 技术文章 > PopupWindow 问题集锦

baron89 2014-03-25 17:18 原文

1.响应返回键/响应键盘事件(onKeyListener)

  最近在做PopupWindow, 发现使用PopupWindow一出现,不会响应popup外面的事件,经过资料查找,发现有两种方法可以响应外部事件。

/**
只是要简单的响应返回事件,即点击返回键,popup消失,那只需设置popup的背景就可以了
*/
popUpWindow.setBackgroundDrawable(new BitmapDrawable());
/**
如果要对返回事件进行重写,那就用如下方法
*/
//获取popup上的一个view
View viewInPopup = findViewById(xxx);
//必须写这一句,全这个view能够获取焦点,这才能响应外部的事件
viewInPopup.setFocusableInTouchMode(true);
viewInPopup.setOnKeyListener(new OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
               //对键盘事件进行重写
                return false;
            }

 2.Popupwindow里面gridview在某些机子上,onItemClick无效

pop.setFocusable(true);

3.按返回键Popupwindow不会消失

pop.setFocusable(true);

 

推荐阅读