如题,在我的主view中有两个button(start, end),我要实现的是点击start后出现一个popview(PopupWindow),再点击end后popview关闭,在这个过程中popview都没有遮住start 和end。现在的问题是:点击start  popview弹出后,背景主view的start 和end 都无法起作用,如何实现请高人指点!

解决方案 »

  1.   

    我觉得这是你的设计上面的问题?
    你看见过主界面上面加一个button(功能是弹出一个对话框),有再加一个button(功能使对话框消失)的??
    都只是控制弹出,并不控制消失,消失的控制是在你的是dialog上面,就本例而言是在你的popupWindow上面来实现的,即使你不是现在这个功能,不还有返回键可以控制吗?
    按下返回键不也会消失?
      

  2.   

    补充一点,当我创建pop使用showAtLocation时,只是无法dismiss(在我的end键的onclick里调用popview.dismiss),但各控件还有焦点,切系统的返回键还起作用;
               但换成showAsDropDown后就彻底挂了,屏幕上所有的控件包括系统的返回键都无效,且失去焦点,死了。。
      

  3.   

    popupWindow就是浮在最上层的
    下面的自然挡住了。
    应该可以理解为,它就是一整个屏幕,只是没有盖住的地方时透明的。
    不知道我理解的对不对
      

  4.   

    那怎么解释换成showAsDropDown显示后 系统的返回键都无效?
      

  5.   

    你有没有在重写onkeyup或者onkeydown方法
    我碰到过一次back失效,是我重写了这两个方法,但是没有处理back键事件,就return true了.dismiss只能在showAsDropDown后面调用
    public void dismiss () 
    Since: API Level 1 
    Dispose of the popup window. This method can be invoked only after showAsDropDown(android.view.View) has been executed. Failing that, calling this method will have no effect.
      

  6.   

    没重写过,新手还在探索中,,,
    那我到底该如何实现popview上的imagebutton的onclick?
      

  7.   

    现在的问题是:我想在popview打开时(在背景主view的start按键里showAtLocation)能响应背景view的按键事件同时popview自动关闭,但是在背景view案件的onclick收到事件后,该用什么方法来关闭popview呢?
    因为在主view的end按键onclick里调用popview.dismiss();貌似不起作用,调了但是关不掉为保证编译通过,把创建popview实例的代码挪到了主view的onclick中的switch判断之前
      

  8.   

    "dismiss只能在showAsDropDown后面调用"估计和这个有关,但是这句话到底是什么意思呢?谁来明确的解释一下
      

  9.   

    你在创建popview时加上这么一句popview.setBackgroundDrawable(new ColorDrawable(0));