2015-12-24 292 views
0

我使用simple sidebar drawer和我想當用戶後退如果抽屜打開關閉和關閉活動完成時。這個庫沒有這個函數的默認值。我用下面的代碼,但不工作:(關閉簡單的側抽屜後背按下

final SimpleSideDrawer mSlidingMenu = new SimpleSideDrawer(mactivity); 
mSlidingMenu.setLeftBehindContentView(R.layout.sidebar); 
mSlidingMenu.setOnKeyListener(new View.OnKeyListener() { 
    @Override 
    public boolean onKey(View v, int keyCode, KeyEvent event) { 
     if (keyCode == KeyEvent.KEYCODE_BACK) { 
      mSlidingMenu.closeLeftSide(); 
      return true; 
     } else 
      return false; 
    } 
}); 

回答

0

toggleDrawer()方法可用於在抽屜的打開和關閉之間切換。因此,配對它與onBackPressed()方法關閉而抽屜按後退按鈕。

@Override 
public void onBackPressed() { 
    mSlidingMenu.toggleDrawer(); 
} 
+0

我使用的代碼功能的外部類。我怎麼能在函數中使用onbackpressed? – user3243573

+0

如果您可以引用mSlidingMenu對象,那麼您可以重寫onBackPressed()活動方法,並從引用對象中調用toggleDrawer()。 –

+0

如何添加對mSlidingMenu對象的引用?爲每個函數創建新的mSlidingMenu和mSlidingMenu.toggleDrawer();不行。 – user3243573

0
@Override 
public void onBackPressed() { 
    if(mSlidingMenu.isClosed()) 
    { 
     super.onBackPressed(); 
    } 
    else 
    { 
     mSlidingMenu.closeLeftSide(); 
    } 
}