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开发之关于使用PopWindow点击外部不消失的解决实例

首先要给popwindow设置背景图片为透明,然后让它点击外面触发这个事件为true。 有时设置窗口占满上下屏幕或者左右屏幕。往往点击外部设置就会被消费掉,不生效。 以此设置规范:popwindo...

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

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

PopupWindow 真正 点击返回键,空白区域取消,返回键取消

控制PopupWindow 是否能取消需要同时设置setOutsideTouchable和setFocusable方法,如下: private void setCancelableInter...

关于SlidingMenu侧边栏中的点击事件无效的问题

关于这个问题,在 https://github.com/jfeinstein10/SlidingMenu/issues/446 中已经有说明解决方法。 具体就是: 先在CustomViewAbov...
  • vite_s
  • vite_s
  • 2015年12月31日 12:44
  • 1804

Android wear开发如何获取心率(Heart Rate)

Android wear开发如何获取心率(HRM)呢?最近项目需要,自己研究了一下。国内关于Wear开发的资源太有限,在外网扒了扒,整理出来的! 首先, 我依旧是用的eclipse开发的,搭建了个...
  • Kern_
  • Kern_
  • 2016年04月25日 13:16
  • 2846

Android PopupWindow 使点击区域外不消失

默认的popupWindow点击区域外会使popupWindow自动dismiss,如果有一个点击区域外使popupWindow不自动dismiss的需求,该怎么办呢?首先来看popupWindow的...

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

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

点击PopupWindow弹出窗口之外的区域关闭该窗口的方法

之前做了一个弹出窗口使用alertdialog来实现的,效果很不错google都给加了特效,如窗口的边框,窗口的标题以及后面activity的蒙灰,然后用返回键关闭,原本都做好了可是需求忽然变了,想要...

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

很早之前有遇到过一个问题,就是 PopupWindow 在使用的时候必须要如下设置才可以在点击外部让它消失 pop.setBackgroundDrawable(new BitmapDrawable()...

JQuery点击弹出窗口外侧,关闭弹出窗口功能

$(document).ready(function(){ //页面初始化时隐藏弹窗 $('#popupWindow').hide(); //窗口外点击事件 $(doc...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android中的PopupWindow点击外侧区域取消
举报原因:
原因补充:

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