2014-04-24 38 views
0

我使用的支持庫和DrawerLayout。抽屜式導航欄會馬上閉合開放

的應用程序開始與抽屜按照Android指南開放。如果抽屜關閉並且用戶點擊後退按鈕,我希望抽屜打開。我攔截onKeyDown打開抽屜,但抽屜會立即打開和關閉,導致閃爍。

public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     if(!drawerLayout.isDrawerOpen(drawerMenu)){ 
      drawerLayout.openDrawer(drawerMenu); 
      return true; 
     } 
    } 
    return super.onKeyDown(keyCode, event); 
} 

回答

0

爲什麼不使用OnBackPressd方法?

@Override 
public void onBackPressed() { 

    if(!drawerLayout.isDrawerOpen(drawerMenu)){ 
    drawerLayout.openDrawer(drawerMenu); 

    } 
    else 
    super.onBackPressed(); 

} 
+0

我沒有意識到有一個優選的截取方法,我認爲兩者幾乎相等。這有效,但你能解釋爲什麼嗎? :)感謝 – serenskye

+0

好了,就回壓有自己的實現,你叫一個也可以在Android中使用keyboard..also,如果你使用你做不重寫onBack方法的方式及其可能複製回事件。如果它的幫助,接受答案:) – SacreDeveloper