Android--onKeyDown方法

来源:互联网 发布:下电子书的软件 编辑:程序博客网 时间:2024/05/17 09:24

在Android开发过程中,经常要对部分手机按键进行自定义的处理,我们可以通过重写Activity的方法onKeyDown()来实现,我们根据对不同的键的处理可以增强用户体验。

private long mExitTime;//保存上次点击back键的系统时间@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {    if (keyCode == KeyEvent.KEYCODE_BACK) {        if ((System.currentTimeMillis() - mExitTime) > 2000) {            //时间相隔大于2s吐司提醒            Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();            mExitTime = System.currentTimeMillis();        } else {            //退出应用            finish();        }        return true;    }    return super.onKeyDown(keyCode, event);}

这样是不是就和我们使用过的很多APP一样了。

@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {    if(keyCode == KeyEvent.KEYCODE_BACK) {        // 监控返回键        new AlertDialog.Builder(KeyActivity.this).setTitle("提示")        .setIconAttribute(android.R.attr.alertDialogIcon)        .setMessage("确定要退出吗?")        .setPositiveButton("确认", new DialogInterface.OnClickListener() {            @Override            public void onClick(DialogInterface dialog, int which) {                KeyActivity.this.finish();            }        })        .setNegativeButton("取消", null)        .create().show();        return true;    }    return super.onKeyDown(keyCode, event);}

一般的APP按下Back键显示的都是这两种效果,Dialog的布局主要是为了显示,大家也可以去自己设计漂亮符合APP风格的界面。

结束语:本文仅用来学习记录,参考查阅。