重写OnKeyDow配合下面代码,点击物理返回键PopWindow不消失或实现其他的功能

LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View contentview = inflater.inflate(R.layout.popup, null);
contentview.setFocusable(true); // 这个很重要
contentview.setFocusableInTouchMode(true);
final PopupWindow popupWindow = new PopupWindow(contentview, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
popupWindow.setFocusable(false);// 这个很重要
popupWindow.setOutsideTouchable(false);
contentview.setOnKeyListener(new View.OnKeyListener() {@Overridepublic boolean onKey(View v, int keyCode, KeyEvent event) {if (keyCode == KeyEvent.KEYCODE_BACK) {popupwindow.dimiss();finish()return true;}return false;}
});
popupWindow.showAtLocation(findViewById(android.R.id.content),  Gravity.CENTER|Gravity.CENTER_HORIZONTAL, 0, 0);
//下面可以做一些其他的popupwindow设置操作

转载自:https://blog.csdn.net/android_zhengyongbo/article/details/76013578

popupwindow拦截点击物理返回键相关推荐

  1. h5打包app点击手机返回键直接退出app的解决方法

    h5打包的app,在android手机上,点击手机自带的物理返回键,直接退出了app.由于onbackPress在app上不生效,于是用js的方式去做了拦截,实现了点击物理返回键返回上一页,而不是退出 ...

  2. uniapp踩坑(五):监听手机物理返回键和滑动返回事件

    需求 android端和ios端点击手机物理返回键(左上角的)或页面滑动键退出后,弹出弹框,点击确定后才退出该页面. 截图展示: 实现代码: 在onBackPress()方法中实现. 注意一定要在su ...

  3. popwindow 焦点问题,物理返回键截获,软键盘监听问题

    首先是setFocusable这个方法,获取焦点:如果不获取焦点,那么popwindow中的控件都没有办法获取焦点和事件响应问题. 如果获取焦点,那么popwindow就会拦截屏幕上的点击触摸事件以及 ...

  4. 通过手机物理返回键实现弹出层的隐藏

    通过手机物理返回键实现弹出层的隐藏 <template><div class="popup"><h1 @click="popup" ...

  5. VUE 物理返回键的处理

    H5退出时所遇到的问题: 1.按返回键或anroid手机的物理返回键时,都不走destroy方法. 2.按物理返回键,添加popstate监听时, (1)历史记录要准确,否则会执行多次监听方法 (2) ...

  6. cordova app 监听物理返回键

    物理返回键指的是手机系统自带的返回按钮,通过cordova监听返回按钮操作,可以禁止某些页面的返回操作,以及实现点击两次返回按钮退出应用. var pageUrl = window.location. ...

  7. Android webView中监听物理返回键一层一层退出

    前言 fragment中加载webview如果不处理返回键 那么当你打开多个H5页面的时候 会一次性回退到根级 有时候我们需要一个缓冲 就是一级一级退出 给人一个良好的体验 该怎么做呢? 废话不多说 ...

  8. 混合开发监听安卓手机物理返回键

    混合开发监听安卓手机物理返回键 在用h5做混合开发过程中由于有个考试考试页面,中途不能退出,退出要添加确认操作,所以需要监听手机的返回操作,不让用户直接通过返回键返回 目前了解到混合开发中有两种方式监 ...

  9. 控制安卓手机物理返回键

    <script>  // 控制手机物理键--返回 window.onload = function(){   if(window.history && window.his ...

  10. h5移动端实现物理返回键关闭弹框而非返回上一级页面

    需求:页面中的popup弹框,可以通过物理返回键进行关闭 方案: (1)当打开弹框时,向history中添加一个空记录,并且监听history的popstate变化 (2)当弹框打开状态用户操作了返回 ...

最新文章

  1. 【MATLAB】将向量表示的多项式用字符串输出的通用函数示例
  2. [译]WPF 应用程序和MVVM设计模式 ——Josh Smith
  3. java8 多个字段分组_MySQL基础之分组查询
  4. mysql新加不了数据库_MySQL数据库之mysql增加新用户无法登陆解决方法
  5. 交叉编译openwrt php,交叉编译n2n,以openwrt为例子
  6. Linux多线程工作笔记0001---多线程知识介绍
  7. 【读书笔记】A Swift Tour
  8. 科技业10大错误决定
  9. 使用安装Ubuntu和Win7双系统
  10. 蹦迪--我的黑白玫瑰~!
  11. 毕业设计-基于机器学习的建筑能耗预测
  12. docker修改已部署容器的配置文件
  13. 搜索引擎蜘蛛 ajax,了解搜索引擎蜘蛛习性 助力内页顺畅收录
  14. 简历中的自我评价怎么写?
  15. 25年,100亿美元!人类「第二只眼」韦伯望远镜升空,寻找宇宙开天辟地那束光...
  16. 跨境电商业务拓展专用服务器,腾讯云海外轻量应用服务器
  17. Sqoop Flume 数据采集引擎
  18. Cocos2d-x 3.X, IOS版添加广点通广告平台
  19. TCP状态转换图——简述11个状态
  20. swapidc不能连接到主机_SWAPIDC完整对接EP主机分销教程

热门文章

  1. android10返回mac地址,android 获取mac地址
  2. 《三体》死神永生之感
  3. 自己写C#用汽车诊断卡对MIT电机做调试
  4. 高分系列(GF1-GF7)卫星介绍
  5. 北京与洛杉矶时差16小时,飞机飞行时间是12小时40分钟。请输入从洛杉矶起飞的日期与时间,计算出到达北京的日期与时间。
  6. 基于STM32MP1的IOT参考设计(采用QT和web技术)
  7. 四级英语高分必备完形填空2篇翻译
  8. 软件测试的概念与过程
  9. android微信换行,微信终于支持换行输入了,只需要一个简单的操作-excel自动换行...
  10. 华为鲲鹏云主机编译安装MySQL 8.0.17