Android 返回按钮的自定义设置

程序中我们有时候想让放回按钮按照自己的需求调整页面而不是单纯的按照系统返回上一级,这个问题很简单,重写 onKeyDown 方法即可。

下面方法,包含了 webview 中的返回上一页和普通 Activity 的单击设置和双击退出程序:

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
  //如果我们用的是webview页面,想返回网页的上一页设置这里就可以了
  if (keyCode == KeyEvent.KEYCODE_BACK && myWebView.canGoBack()) {
     myWebView.goBack();// 返回前一个页面
    return true;
  }

  //普通页面的单双击事件设置,这里是双击退出程序的设置。
  if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) {
    if ((System.currentTimeMillis() - exitTime) > 2000) {
      Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
      exitTime = System.currentTimeMillis();
    } else {
      finish();
      System.exit(0);
    }
    return true;
  }
  return super.onKeyDown(keyCode, event);
}

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 128,744评论 19 550
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 6,927评论 1 38
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 3,131评论 0 4
  • WebView·开车指南 2016-08-31BugDev 北京市东城区首席Bug布道师开山之作,一整月交通事故血...
    53c021c38a1d阅读 150评论 0 1
  • 这不是一篇讲述自己如何通过小白训练营而收获满满的文章,反而是反省在这14天的时间里自己是如何偷懒,从热情满满...
    Placid丶阅读 174评论 1 8