1、点击PopupWindow 外部区域时,PopupWindow消失

popMenu = new PopupWindow(getApplicationContext());
popMenu.setWidth(LayoutParams.MATCH_PARENT); popMenu.setHeight(LayoutParams.MATCH_PARENT); popMenu.setBackgroundDrawable(new BitmapDrawable()); popMenu.setFocusable(true);
popMenu.setOutsideTouchable(true);

这里使用了 setOutsideTouchable 属性,具体可以去参考 developer文档。

使用PopupWindow注意事项:必须设置PopupWindow的backgroundDrawable,否则会出现各种意想不到的bug。

2、点击PopupWindow 自身时(非按钮控件时),PopupWindow消失

解决办法:给 PopupWindow的 contentView 注册一个点击事件

view.setOnClickListener(new OnClickListener() {

			@Override
public void onClick(View v) {
if(popMenu.isShowing()){
dismiss();
}
}
}); popMenu.setContentView(view); popMenu.showAtLocation(v, Gravity.BOTTOM, 0, 0);
// popMenu.setAnimationStyle(R.style.popwin_anim_style); popMenu.update();

  

  

Android PopupWindow 点击消失解决办法的更多相关文章

  1. android adb devices offline的解决办法

    在做Android开发时经常出现android adb devices offline,解决办法如下: 1 重启adb服务 adb kill-server adb start-server linux ...

  2. android studio 错误汇总以及解决办法

    android studio 错误汇总以及解决办法  参考 https://www.jianshu.com/p/7c7de6562231 问题1. Error:Execution failed for ...

  3. 【转】Android出现“Read-only file system”解决办法

    原文网址:http://www.111cn.net/sj/android/44496.htm 下面介绍一篇Android出现“Read-only file system”解决办法 有碰到这类问题的朋友 ...

  4. 【转】Ubuntu 上编译Android出现cannot find -lstdc++解决办法

    [转]Ubuntu 上编译Android出现cannot find -lstdc++解决办法 在Ubuntu 12.04 x86_64机器上编译Android出现下面错误,是因为找不到32bit的li ...

  5. (转载)Android出现“Read-only file system”解决办法

    下面介绍一篇Android出现“Read-only file system”解决办法 有碰到这类问题的朋友可参考参考.   Android-出现Read-only file system的解决方法 输 ...

  6. Ubuntu中Android SDK Manager无法更新解决办法

    Ubuntu中Android SDK Manager无法更新解决办法http://hi.baidu.com/petercao2008/item/d7a64441f04668e81e19bc1a

  7. Xamarin Android SDK无法更新的解决办法

    Xamarin Android SDK无法更新的解决办法   Xamarin Android SDK无法更新的解决办法,更新时候,提示警告信息:A folder failed to be moved. ...

  8. 1.Android常见异常:android.view.WindowLeaked 分析以及解决办法

    在项目中遇到WindowManager: Activity  has leaked window问题,其实在stackoverflow.com可以找到详细答案:http://stackoverflow ...

  9. Toolbar 和 CollapsingToolbarLayout一起使用时menu item无点击反应解决办法

    昨天一直在琢磨为什么Toolbar和CollapsingToolbarLayout一起使用时menu item无点击放应的原因,后来在stackoverflow上一条回答,说可能是Toolbar的背景 ...

随机推荐

  1. sql server 锁学习

    insert 默认加的锁是 不允许select,update  但是可以insert update 默认加的锁是 不允许 update 可以 select ,insert

  2. 解决ashx文件下的Session“未将对象引用设置到对象的实例”

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using PPT_DAL; ...

  3. Jquery AJax Post 返回值问题

    var msg=0; Validater('abc'); function Validater(Name) { var itemId = 1; $.ajax({ url: 'adminmenu/Val ...

  4. Wim技术之Wim文件的制作

    背景:操作的镜像文件为win8.1 update的ISO里的Wim文件 1.使用如下命令将支持WimBoot的instal.Wim文件转换成可以支持wimboot启动的映像文件 Dism /Expor ...

  5. C 【block类型全方位详解】

    ------------------------------------------- block变量的概念 #import <Foundation/Foundation.h> int m ...

  6. UI1_UITouch

    // // ViewController.m // UI1_UITouch // // Created by zhangxueming on 15/7/9. // Copyright (c) 2015 ...

  7. PowerDesigner提示This data item is already used in a primary identifier.的处理

    原文链接: http://blog.csdn.net/lopper/article/details/5293545 今天同事在编制一个数据库脚本的时候,提示了This data item is alr ...

  8. call与apply函数

    call与apply函数 1.为什么需要call与apply函数 Javascript中,每一个函数内部都有一个特殊的关键词this,其随着所处环境的不同其指向也是不同的. 函数的内部其this也是指 ...

  9. exynos 4412 eMMC配置及使用方法

    /** ****************************************************************************** * @author    Maox ...

  10. Spring MVC的启动过程

    一.概述 下面一个基本的运用springMVC的的web.xml的配置,这里要注意两个地方,一个是ContextLoadListener,一个是DispatcherServlet.web容器正是通过这 ...