Android PopupWindow响应返回键最正确的实现方式
2015-07-01 10:48
190 查看
之前在网上找了很多文章,实现PopupWindow返回键的方式如下:
这样是实现了点击返回键关闭PopupWindow。但是,我们没办法在PopupWindow关闭时做其他你想要的操作。
正确的方法是:
你可以在dismissPopupWindow()里做你想要的动作。
popupWindow.setFocusable(true); ColorDrawable dw = new ColorDrawable(0x00000000); popupWindow.setBackgroundDrawable(dw);
这样是实现了点击返回键关闭PopupWindow。但是,我们没办法在PopupWindow关闭时做其他你想要的操作。
正确的方法是:
popupView = getLayoutInflater().inflate(R.layout.detail_popupwindow, null); popupView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dismissPopupWindow(); } }); popupView.setFocusable(true); popupView.setFocusableInTouchMode(true); popupView.setOnKeyListener(new View.OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { dismissPopupWindow(); return true; } return false; } }); if (popupWindow == null) { popupWindow = new PopupWindow(popupView, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); popupWindow.setFocusable(true); } if (!popupWindow.isShowing()) popupWindow.showAtLocation(view, Gravity.CENTER, 0, 0);
你可以在dismissPopupWindow()里做你想要的动作。
相关文章推荐
- android Process.killProcess 和 System.exit(0) 区别
- Android Fragment学习
- findlibrary returned null产生的联想,Android ndk开发打包时我们应该如何注意平台的兼容(x86,arm,arm-v7a)
- Android手机界面的各种状态
- android 上加载h5页面
- Android中apk动态加载技术研究(1)基础知识研修
- Android Studio的常用快捷键
- 学习笔记 Android.mk 搜索自己主动
- [置顶] android studio快捷键集合
- Android使用sqlliteOpenhelper更改数据库的存储路径放到SD卡上
- Android水波纹效果
- Android初学之------Android Studio 运行java程序
- Android——LinearLayout按下(state_pressed)或获取焦点时(state_focused)背景设置不同颜色或图片
- Android Studio开发配置NDK环境
- Android中ActionBar的setDisplayHomeAsUpEnabled、setHomeButtonEnabled和setDisplayShowHomeEnabled方法的理解
- Android给GridView设置单元格分割线
- Android处理图片报OOM的问题解决
- android圆角矩形框xml的实现
- Android数据库高手秘籍:SQLite命令
- Activity的生命周期