2013-02-22 133 views
0

我從滑動菜單SlideMenu開始。我嘗試了一個示例,它的效果很好,但是當顯示菜單時,觸摸右側窗格或從左側滑動到右側滑動菜單。滑動菜單觸摸關閉和從右向左滑動

我需要「滑動」菜單僅在從右向左滑動時關閉或可能會觸摸。我不想左右滑動關閉菜單。如何明確處理以上3個案例?

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; 
} 
} 

回答

0

你的錯誤是:

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); 
} 

結帳這個答案也是:

Strange offset behavior on slidingmenu