关闭简单的侧抽屉后背按下
问题描述:
我使用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;
}
});
答
toggleDrawer()方法可用于在抽屉的打开和关闭之间切换。因此,配对它与onBackPressed()方法关闭而抽屉按后退按钮。
@Override
public void onBackPressed() {
mSlidingMenu.toggleDrawer();
}
答
@Override
public void onBackPressed() {
if(mSlidingMenu.isClosed())
{
super.onBackPressed();
}
else
{
mSlidingMenu.closeLeftSide();
}
}
我使用的代码功能的外部类。我怎么能在函数中使用onbackpressed? – user3243573
如果您可以引用mSlidingMenu对象,那么您可以重写onBackPressed()活动方法,并从引用对象中调用toggleDrawer()。 –
如何添加对mSlidingMenu对象的引用?为每个函数创建新的mSlidingMenu和mSlidingMenu.toggleDrawer();不行。 – user3243573