0

SlideMenuの Sliding Menu から始めています。サンプルを試してみましたが、うまく機能しますが、メニューが表示されているときに、右ペインをタッチするか、左から右にスワイプすると、スライド メニューが閉じます。

右から左へのスワイプでのみスライドメニューを閉じる必要があるか、タッチしている可能性があります。左から右にスワイプしてメニューを閉じたくありません。上記の 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;
}
}
4

1 に答える 1

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

この回答もチェックしてください:

スライドメニューでの奇妙なオフセット動作

于 2013-02-22T15:52:35.683 に答える