Android 滑动菜单通过触摸和从右向左滑动关闭

Android 滑动菜单通过触摸和从右向左滑动关闭,android,actionbarsherlock,slidingmenu,Android,Actionbarsherlock,Slidingmenu,我从滑动菜单开始。我试过一个例子,效果很好,但当显示菜单时,触摸右窗格或从左向右滑动关闭滑动菜单 我需要滑动菜单仅在从右向左滑动时关闭,或者可能处于触摸状态。我不想从左向右滑动来关闭菜单。如何明确处理以上三种情况 public class MainActivity extends SherlockFragmentActivity { SlidingMenu menu; @Override protected void onCreate(Bundle savedInstanceState) {

我从滑动菜单开始。我试过一个例子,效果很好,但当显示菜单时,触摸右窗格或从左向右滑动关闭滑动菜单

我需要滑动菜单仅在从右向左滑动时关闭,或者可能处于触摸状态。我不想从左向右滑动来关闭菜单。如何明确处理以上三种情况

public class MainActivity extends SherlockFragmentActivity {

SlidingMenu menu;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setTheme(com.actionbarsherlock.R.style.Theme_Sherlock_Light);
    setContentView(R.layout.activity_main);
    menu = new SlidingMenu(this);
    menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
    menu.setMode(SlidingMenu.LEFT);
    menu.setShadowWidth(5);
    menu.setFadeDegree(0.0f);
    menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
    menu.setBehindWidth(200);
    menu.setMenu(R.layout.menulayout);
    ActionBar actionBar = getSupportActionBar();
    actionBar.setHomeButtonEnabled(true);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // TODO Auto-generated method stub
    getSupportMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
    if (item.getItemId() == android.R.id.home) {
        menu.toggle();
    }

    return true;
}
}
您的错误发生在:

public boolean onOptionsItemSelected(MenuItem item) 
{       
    switch (item.getItemId()) 
    {
        case android.R.id.home:
            SlidingMenu menu = getSlidingMenu();
            menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
            menu.toggle();
            return true;
    }

    return super.onOptionsItemSelected(item);
}
也请检查此答案: