写了一个Toolbar类继承了PopupWindow,想在这个Toolbar弹出的时候,能捕获到Toolbar窗口以外的点击事件,并把点击事件交给Toolbar窗口外被点击的控件处理,但试了一些办法,总是无法识别点击事件是在窗口内还是窗口外,请问大家有没有遇到过类似的问题 this.setOutsideTouchable(true);   
this.setFocusable(true);
this.setTouchable(true);这些方法都调用过,还是没用希望大家不吝赐教啊

解决方案 »

  1.   

    这个是做不到的吧,既然弹出了popupwindow,捕获的只能是这个window范围之内的事件吧个人意见,仅供参考,呵呵
      

  2.   

    呃谢谢你的回答应该是能实现的,有个看书软件叫“百阅”,它的菜单就貌似是一个popupwindow,点击它的菜单项时,还会弹出一个子菜单,这时主菜单不会关闭而且可以点击控制。
      

  3.   

    lz可以找一下浮动窗口的做法,把这个窗口的响应放到service或者thread里面处理,应该可以满足你的要求
      

  4.   

    PopupWindow在点击到PopupWindow以外的地方是PopupWindow会自动隐藏,所以我认为应该是有这个事件存在的。你找找看。
      

  5.   

    你弹出PopupWindow了你的外层activity就失去了焦点了。点击PopupWindow之外的地方,PopupWindow消失,你要做到的话就必须去自定义控件了。把PopupWindow的类重写一遍。你想干嘛都可以了我刚才看了58同城的客户端跟你说的“呃谢谢你的回答应该是能实现的,有个看书软件叫“百阅”,它的菜单就貌似是一个popupwindow,点击它的菜单项时,还会弹出一个子菜单,这时主菜单不会关闭而且可以点击控制。”一样的,但是我没发现人家点击PopupWindow外还有事件监听,点击只会消失。
      

  6.   

    一切皆有可能,我以前还琢磨着这个点其他地方popupwindow为什么不消失呢。
      

  7.   

    主要还是处理这个方法: @Override
        public boolean onTouchEvent (MotionEvent event)
      

  8.   

    谢谢各位的回答,针对我的需求,我以另外一种方式进行了实现,只需一个PopupWindow,将之前的主、子菜单放在了一个PopupWindow,点主菜单,子菜单相应改变,再调用PopupWindow的update()方法,实现了需求