学习封装双击返回键退出
2015-11-16 15:04
459 查看
今天在开源中国的源码中看见大神封装的双击返回键感觉不错所以自己也写了一遍收藏了 。
使用方法就是在应用主Activity的onKeyDown方法中调用DoubleClickHelper实例的onKeyDown方法。
public DoubleClickHelper{ private Handler mHandler;// 用于提示双击返回键退出 private Activity mActivity; private boolean mIsOnkeyBacking= false;// 用于标记是否是双击返回键退出 public DoublickClickHelper(Activity mActivity){ this.mActivity = mActivity; mHandler = new Handler(Looper.getMainLooper()); } /** *点击事件的处理 */ public boolean onKeyDown(KeyEvent event) { if (event.getKeyCode() != KeyEvent.KEYCODE_BACK) { return false; } if(mIsOnkeyBacking){ // 第二次点击返回键 mIsOnkeyBacking = false; if(mToast != null){ mToast.cancel(); mToast = null; } mHandler.removeCallbacks(onBackTimeRunnable); // //在这里可以添加退出操作 AppManager.getInstance().appExit(); }else{ // 第一次点击返回键 mIsOnkeyBacking = true; if (mToast == null) { // 这里的文字你可以在你的项目中用R.string.**代替; mToast = Toast.makeText(mActivity,"双击返回键退出",Toast.LENGTH_LONG); } mToast.show(); mHandler.postDelayed(onBackTimeRunnable,2000); // 在俩秒后执行 } return true; } /** * 用户在俩秒内没有再次点击返回键所以将执行取消操作 */ private Runnable onBackTimeRunnable = new Runnable() { @Override public void run() { if (mToast != null) { mToast.cancel(); mToast = null; } mIsOnkeyBacking = false; } }; }
使用方法就是在应用主Activity的onKeyDown方法中调用DoubleClickHelper实例的onKeyDown方法。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories