Android中的PopupWindow点击外侧区域取消

原创 2013年12月03日 16:45:35

android中的PopupWindow是比较常用的控件,但是一些用户习惯的特性却没有成为PopupWindow的默认行为,需要手动去设置,比如点击外侧区域来将PopupWindow给dismiss掉.

网上有很多例子提供了解决办法,比较常见的是这样的:


PopupWindow pop = new PopupWindow(contentView, width, height);
	pop.setFocusable(true);
	pop.setOutsideTouchable(true);
	pop.setBackgroundDrawable(new BitmapDrawable());
	pop.showAtLocation(findViewById(R.id.parent), Gravity.CENTER, 0, 0);

这个方法可以解决点击取消的问题,不过有一点隐患,就是 BitmapDrawable的无参构造函数被deprecated了,在未来的版本中有失效的危险,可以用以下的方案来代替:


PopupWindow pop = new PopupWindow(contentView, screenWidth, screenHeight);
	Bitmap background = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
	pop.setBackgroundDrawable(new BitmapDrawable(getResources(), background));
	pop.setFocusable(true);
	pop.setOutsideTouchable(true);
	pop.showAtLocation(findViewById(R.id.parent), Gravity.CENTER, 0, 0);


[Android]PopupWindow 点击外部区域无法关闭的问题

[TOC] 在android4.0/5.0系统上,使用popupWindow时,点击内容外部区域无法关闭,但是在6.0机子上又是正常的,而我在代码中明明已经进行了如下设置:mPopupWindow ...
  • zxz_tsgx
  • zxz_tsgx
  • 2016年06月06日 19:01
  • 2984

android:点击popupwindow以外区域 popupwindow自动消失

转自:http://www.cnblogs.com/joey-home/archive/2012/07/02/2573855.html 方法一(这种方法可以处理popupwindows di...
  • gf771115
  • gf771115
  • 2014年02月13日 23:27
  • 18786

[Android]PopupWindow 点击外部区域无法关闭的问题

[TOC] 在android4.0/5.0系统上,使用popupWindow时,点击内容外部区域无法关闭,但是在6.0机子上又是正常的,而我在代码中明明已经进行了如下设置:mPopupWindow ...
  • zxz_tsgx
  • zxz_tsgx
  • 2016年06月06日 19:01
  • 2984

Android PopupWindow 使点击区域外不消失

默认的popupWindow点击区域外会使popupWindow自动dismiss,如果有一个点击区域外使popupWindow不自动dismiss的需求,该怎么办呢?首先来看popupWindow的...
  • qq402164452
  • qq402164452
  • 2016年11月26日 19:05
  • 7473

Android开发————如何点击屏幕外侧让PopUpWindow消失

这个功能应该是不难的,查了下文档,没发现明显的方法可以调用。 开始以为popupWindow.setOutsideTouchable(true);这个方法可以呢,试了试,不行,其实这个方法时设置...
  • zs2538596
  • zs2538596
  • 2014年07月27日 12:56
  • 952

Android中PopupWindow点击窗口之外和返回键消失,界面锁定的实现

这几天做谷居网的android应用到混天暗地的程度了。。 做一个加入灵感集的操作,需要用户注册,弹出这么一个PopupWindow的提示框。 要实现的功能很简单,点击稍后提醒以及键盘的返回...
  • misly_vinky
  • misly_vinky
  • 2013年09月06日 12:07
  • 23636

Popupwindow背景颜色变灰色,并点击外部消失

ColorDrawable dw = new ColorDrawable(-00000); //必须放在showatlocation才能起作用,点击外部消失,但不能使灰色背景色也消失 pw.setBa...
  • storm1314888
  • storm1314888
  • 2015年05月06日 11:52
  • 2496

Android PopupWindow响应外部控件点击事件

问题描述:点击界面上其中一个控件弹出PopupWindow。此时若点击界面上的其他控件,效果只是PopupWindow弹出框消失,并不会触发点击控件的效果,需要再次点击控件才会触发响应事件。 Popu...
  • askilledhand
  • askilledhand
  • 2016年03月08日 08:56
  • 5288

PopupWindow点击外部区域消失(二)

很早之前有遇到过一个问题,就是 PopupWindow 在使用的时候必须要如下设置才可以在点击外部让它消失 pop.setBackgroundDrawable(new BitmapDrawable()...
  • chenxiaofeng_
  • chenxiaofeng_
  • 2015年07月27日 17:32
  • 1802

android popuwindow点击外部窗口不消失

网上大多数都是说如何监听点击外部消失,但我遇到的问题是点击外面不让其消失,如下是我的解决方案,关键是:popupMenu.setBackgroundDrawable(null);popupMenu.s...
  • omayyouhappy
  • omayyouhappy
  • 2016年08月03日 17:54
  • 2381
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android中的PopupWindow点击外侧区域取消
举报原因:
原因补充:

(最多只允许输入30个字)