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语句使用游标修改表中数据

    declare @a varchar(),@b varchar() declare user_cursor cursor for select a,b from tableA tab open use ...

  2. Every student in every school should have the opportunity to learn to code

    “I think everybody in this country should learn how to program a computerbecause it teaches you how ...

  3. au3 命令

    Case $Button1                        _RunDOS(@SystemDir &"\sysdm.cpl");打开系统属性          ...

  4. VxWorks 6.9 内核编程指导之读书笔记 -- C++开发

    5.1 介绍 针对C++的VxWorks配置 C++头文件 使用C++启动任务 C和C++之前调用代码 C++编译器说明 在信号处理和ISR中使用C++ 下载C++编写的内核模块 C++编译器的不同 ...

  5. c#实现数据集合转换为csv文本

    需求 1.将一个数据集合导出到一个csv文件中,集合类型可以视为 List<T>,T为任意类型,T包含多个属性,可指定部分属性进行导出 2.软件中有多种不同类型的数据类型需要进行导出 需求 ...

  6. (转)MongoDB分片实战 集群搭建

    环境准备 Linux环境 主机 OS 备注 192.168.32.13 CentOS6.3 64位 普通PC 192.168.71.43 CentOS6.2 64位 服务器,NUMA CPU架构 Mo ...

  7. think in java 第四版读书笔记 第一章对象导论

    很久没有碰过java了,为了项目需要以及以后找工作,还是有必要将think in java通读一遍.欢迎大家一起讨论学习 1.1抽象过程 面向对象语言的5个特性: 1.万物皆对象 任何事物都可以抽象为 ...

  8. mstsc命令详解

    1: 在xp sp2中用mstsc /console命令可以登录到远程桌面的控制台(和在电脑前以同一用户登录),xp升级到sp3后,不能这样用了.sp3中命令应该换成mstsc /admin. 2: ...

  9. MVC校验

    首先Model里面需要写好校验标签, 我的数据库中有个tblUserInfo表,其中有Id,UserName,,Age三个列,Id自动增长 Model添加UserInfo Class,在UserNam ...

  10. unity打包android游戏部分问题总结

    一:虚拟导航栏挡到游戏按钮: 解决方案如下: 1.获取焦点的时候隐藏 虚拟导航条 Navigation bar 隐藏导航条 2.出现导航条的时候,改变游戏界面大小 Unity tidbits: cha ...