android开发关于popupwindow显示关闭的笔记_移动开发_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > 移动开发 > android开发关于popupwindow显示关闭的笔记

android开发关于popupwindow显示关闭的笔记

 2013/11/6 3:36:42  zephor  博客园  我要评论(0)
  • 摘要:一、方法一:popupWindow.setFocusable(false);//这样popupWindow无法获得焦点,无法处理popupWindow中的事件设置MainActivity的onTouchEvent是点击的时候关闭popupwindow(dismiss方法)该方法的缺点如注释所写二、方法二:popupwindow.setFocusable(true);popupWindow.setBackgroundDrawable(newPaintDrawable())
  • 标签:笔记 android 开发 Android开发

一、方法一:

popupWindow.setFocusable(false); //这样popupWindow无法获得焦点,无法处理popupWindow中的事件

设置MainActivity的onTouchEvent是点击的时候关闭popupwindow(dismiss方法)

该方法的缺点如注释所写

 

二、方法二:

popupwindow.setFocusable(true);

popupWindow.setBackgroundDrawable(new PaintDrawable());

该方法能使popupwindow获得焦点,且点击其他地方popupwindow消失,使用返回键也同样。

另外一种设置监听popupwindow里面view的key事件。返回键来处理。

setBackgroundDrawable方法可以初步理解为设定popupwindow的背景,因为就算在xml里面设置了背景,程序也认为没有。所以得设置为空背景,类似与初始化吧。

 

另外,这几种解决方案都是基于一点,想要处理某个事件,必须先能监听到该事件,而要监听到该事件,前提是该对象得获得焦点。分清楚各个不同的对象层次是处理问题的关键。这些方案中涉及到的对象有mainactivity、popupwindow、已经popupwindow的view(所以在监听这个的按键事件的时候应该也设置该对象focusable,以及FocusableInTouchMode)

上一篇: 介绍几个C#正则表达式工具 下一篇: 没有下一篇了!
发表评论
用户名: 匿名