標籤:android style color sp strong on div cti bs
當我們想退出應用程式時,一般都會採用按物理按鍵(後退鍵)的做法,當使用者在按兩次後退鍵的時候就將應用程式退出,即銷毀當前的Activity();
重寫onBackPressed()方法即可:代碼如下:
private
intclickCount=0; @Override
public
voidonBackPressed() { //
TODOAuto-generated method stub //super.onBackPressed();
if(clickCount< 1){ Toast.
makeText(
this,"再按一次後退鍵退出應用程式!",Toast.
LENGTH_SHORT).show(); clickCount++; }
else{ finish(); } } 注意,需要將父類的onBackPressed()方法去掉,否則無論後面怎麼寫當按一次後退鍵的時候程式就會退出。但這種寫法有不好的地方,就是當使用者在不小心按下兩次後退鍵的時候都會退出,這樣就不好,沒有很好的使用者體驗。為此我們將程式改進,當使用者在按下第二次次退出鍵後如果和第一次之間的時間超過1s,我們就不將程式退出,視為無效的操作。 改進的代碼如下:
private
longlastClickTime= 0; @Override
public
voidonBackPressed() { //
TODOAuto-generated method stub //super.onBackPressed();
if(lastClickTime<= 0){ Toast.
makeText(
this,"再按一次後退鍵退出應用程式!",Toast.
LENGTH_SHORT).show(); lastClickTime= System.
currentTimeMillis(); }
else{
longcurrentClickTime = System.
currentTimeMillis();
if(currentClickTime-lastClickTime< 1000){ finish(); }
else{ Toast.
makeText(
this,"再按一次後退鍵退出應用程式!",Toast.
LENGTH_SHORT).show(); lastClickTime= currentClickTime; } }}
Android後退事件的處理