Android PopupWindow的点击穿透,键盘弹出问题记录

  • Post author:
  • Post category:其他


项目需求:PopupWindow弹出,window外可以点击并且window消失,但是点击事件不可作用于外部的控件之上,并且window中还有编辑框,所以需要键盘弹出。捣鼓了半天虽然没有完成需求,不过大致搞清楚了相关的属性变化,写下来做个记录。

穿透:点击window外围时,点击事件会传递到window下面的页面上,进行触发。

主要有下面两个属性控制

第一种:isOutsideTouchable=false   isFocusable=false

无法弹出键盘

点击外部window不会消失

外部点击事件会穿透

第二种:isOutsideTouchable=true   isFocusable=false

无法弹出键盘

点击外部window会消失

外部点击事件会穿透

第三种:isOutsideTouchable=false   isFocusable=true

键盘可以弹出

点击外部window会消失

外部事件不会穿透

第四种:isOutsideTouchable=true   isFocusable=true

键盘可以弹出

点击外部window会消失

外部事件不会穿透

总结:isOutsideTouchable控制点击window外部是否会使window消失,true代表会消失

isFocusable为true时,可以使用键盘,为false时,点击window外部会穿透事件,那么键盘和穿透不能共存。



版权声明:本文为hyundaihs原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。