对于一般的android手机,都提供了四个(目前主流三个)按键。这几个按键中,back(返回)键用得比较多,对back键出发的事件一般是通过重写onKeyDown(int keyCode, KeyEvent event)这个方法实现的。
1.按下back键默认是退出当前activity;
2.连按两次退出,这个是目前用的比较多的一个功能了,它的实现原理:在第一次触发onKeyDown事件,设置一个定时器,如果在指定时间里,没有再次触发该事件,泽清除效果,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
代码
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){
exit2Click() ;
}
return false;
}
public void exit2Click() {
System.out.println(isExit);
Timer timer = new Timer() ;
if(isExit == false){
Toast.makeText(this, "再按一次退出", 1000).show() ;
isExit = true ;
timer.schedule(new TimerTask() {
@Override
public void run() {
isExit = false ;
}
}, 5000) ;
}else{
finish() ;
}
}
|
3.自定义的view中按下back键:一般来说,android默认的焦点在activity上,如果要在自定义view中按下返回键,则需要将焦点设置在这个view上;