假设情景是这样的:在一个Activity中弹出一个PopupWindow,要求在按返回键时关闭该PopupWindow。

如果该PopupWindow是无焦点的(默认情况),那么可以在Activity中响应返回键(onBackPressed),然后关闭它。

如果该PopupWindow是有焦点的,那么在它弹出来之后,所有的按键和触摸事件都会被它截获,包括返回键。

让PopupWindow获得焦点有两种方法,第一种是在创建的时候指定,第二种是在创建之后,调用它的setFocusable方法指定。

但是仅仅使PopupWindow获得焦点还不行,此时它不响应返回键,也就是说,按返回键的时候PopupWindow并不会关闭。

如果需要PopupWindow响应返回键,那么必须给PopupWindow设置一个背景才行,下面是通常的做法:

setFocusable(true);
ColorDrawable dw = new ColorDrawable(0x00000000);
setBackgroundDrawable(dw);

PopupWindow响应返回键的问题相关推荐

  1. Android --- fragment响应返回键

    fragment无法像activity回调onBackPressed方法.想要实现fragment响应返回键,可以使用Jetpack提供的方式:在Activity中提供了一个用于分发返回键事件的对象, ...

  2. Cocos2dx 响应Android返回键和Menu键

    1.在layer中调用: setKeypadEnabled(true);//设置相应按键消息 layer中重写以下两个方法: virtual void keyBackClicked(); //响应返回 ...

  3. android中的后退功能,如何在Android应用中实现一个返回键功能

    如何在Android应用中实现一个返回键功能 发布时间:2020-11-23 16:28:56 来源:亿速云 阅读:89 作者:Leah 今天就跟大家聊聊有关如何在Android应用中实现一个返回键功 ...

  4. android返回按钮实现,Android实现返回键操作思路

    记录用户点击的操作历史,使用栈数据结构,频繁的操作栈顶(添加,获取,删除),使用LinkedList 捕获用户的返回键操作,响应返回键,返回上一个界面 MainActivity.java /** * ...

  5. android 返回功能,Android实现返回键功能

    记录用户点击的操作历史,使用栈数据结构,频繁的操作栈顶(添加,获取,删除),使用LinkedList 捕获用户的返回键操作,响应返回键,返回上一个界面 MainActivity.java /** * ...

  6. Android之如何解决popupWindow(pw.setFocusable(true))按返回键和menu键退出

    先爆照: 问题: 使用过popupWindow的时候,我们为了让其它地方不可点击,我们一般会pw.setFocusable(true),但是当我们这样设置之后,问题出现了,按返回键或者menu菜单键没 ...

  7. Android 双击返回键退出程序 实现

    版权声明:本文为博主原创文章,未经博主允许不得转载. 思路:用户按下返回键时设定一个定时器来监控是否2秒内实现了退出,如果用户没有接着按返回键,则清除第一次按返回键的效果,使程序还原到第一次按下返回键 ...

  8. android双击返回键退出程序的实现

    /** * 菜单.返回键响应 */ @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-gen ...

  9. ios 发送请求时按home_iOS 10按下Home键能即响应返回桌面了

    iPhone 7和iOS 10上线已经有一段时间了,在经过最初的激动与兴奋之后,现在是时候让我们静下心来研究一下在新设备和新系统中,还有什么细微的变化是苹果没有告诉我们的. 最近在论坛中,网xkx61 ...

最新文章

  1. leetcode - Container With Most Water
  2. rabbitmq java集群_RabbitMQ集群整合SpringBoot2.x
  3. nginx 读取文件_Nginx的提升php上传下载
  4. tensorflow加载训练好的模型实例
  5. 《数据库SQL实战》统计出当前各个title类型对应的员工当前薪水对应的平均工资。
  6. codeforces1552 D. Array Differentiation(思维+暴力)
  7. 添加javascript代码:_JavaScript(1)
  8. 苹果:iOS 比 Android 更安全!
  9. 一个大一新生对于计算机学科的思考
  10. wps表格里面计算机在哪里,“Excel表格软件在电脑上到哪里找?“电脑excle在哪里...
  11. 大学计算机文档基本操作实验的效果,上海工程技术大学计算机实验报告5
  12. 怎么把动态ip改成静态ip?
  13. FlashFXP,flashfxp使用方法
  14. led的伏安特性曲线 matlab实现_灯泡伏安特性仿真实验的实现算法
  15. JAVA中GUI在Button中设置中文乱码问题
  16. c语言心得100,c语言课程设计心得体会
  17. SurfaceControl.screenshot()用法和SurfaceControl.screenshot()使用后返回null的情况
  18. [转]人生多磨难 句句皆精华
  19. jdk1.8新特性之Lambda表达式
  20. Windows 11 安装后必备软件

热门文章

  1. Lync server 2013 之office web apps server 搭建步骤
  2. net通过oledb 和ibm自带连接方式,连接db2数据库出错
  3. BZOJ5324 洛谷4563 LOJ2545:[JXOI2018]守卫——题解
  4. 如何在阿里云上安全的存放您的配置 - 续
  5. 026——VUE中事件修饰符之使用$event与$prevent修饰符操作表单
  6. 《数学建模:基于R》一一2.2 方差分析
  7. array_multisort
  8. Linux pipe函数
  9. Win7中如何删除word模板
  10. 办公室28个经典赞美句子【转】