如何自定义setSecondaryMenu的jfeinstein的SlidingMenu库的宽度

时间:2013-09-17 11:13:07

标签: android slidingmenu

我正在开发一个应用程序,我必须使用左右菜单。我用Google搜索并找到SlidingMenu library of @jfeinstein

一切正常我可以打开左右菜单。但唯一的问题是,二进制菜单打开时带有不必要的额外间距。我需要删除那个额外的间距。我也附加了屏幕截图。< / p>

这里间距很好

enter image description here请让我知道解决方案。

但在这里我需要让内容适合菜单。 enter image description here

这里是显示菜单的活动

public class BaseSlidingMenuActivity extends SlidingFragmentActivity {

private int                     mTitleRes;
protected ListFragment          mFrag;
protected SlideLeftMenuFragment mLeftFrag;

/**
 * Title for Sliding Menu.
 * 
 * @param titleRes
 */
public BaseSlidingMenuActivity(int titleRes) {

    mTitleRes = titleRes;
}

@Override
public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setTitle(mTitleRes);

    // set the Behind View
    setBehindContentView(R.layout.menu_frame);
    if (savedInstanceState == null) {
        FragmentTransaction t = this.getSupportFragmentManager().beginTransaction();
        mFrag = new SlideRightMenuFragment();
        t.replace(R.id.menu_frame, mFrag);
        t.commit();
    } else {
        mFrag = (ListFragment) this.getSupportFragmentManager().findFragmentById(R.id.menu_frame);
    }

    // customize the SlidingMenu
    final SlidingMenu sm = getSlidingMenu();

    sm.setMode(SlidingMenu.LEFT_RIGHT);
    sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
    sm.setShadowWidthRes(R.dimen.shadow_width);
    sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);
    sm.setShadowDrawable(R.drawable.shadow);
    sm.setFadeDegree(0.35f);
    sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
    sm.setSecondaryMenu(R.layout.menu_frame_two);
    sm.setSecondaryShadowDrawable(R.drawable.shadowright);
    mLeftFrag = new SlideLeftMenuFragment();
    getSupportFragmentManager().beginTransaction().replace(R.id.menu_frame_two, mLeftFrag).commit();

    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    getSupportActionBar().setHomeButtonEnabled(true);

    // setSlidingActionBarEnabled(false);
}

提前致谢

1 个答案:

答案 0 :(得分:3)

我已经分叉了一个新的分支来添加jfeinstein的slidemenu中的这个功能。 https://github.com/buptcoder/SlidingMenu

在我的分支中,我为SlideMenu添加了一个新方法。 你可以使用

sm.setRightBehindOffset(200);

调整右侧菜单的宽度。

有任何问题请告诉我。