jfeinstein10 / SlidingMenu附加片段

时间:2014-09-07 21:31:40

标签: android android-fragments slidingmenu

我试图实现jfeinsteins滑动菜单,但是我在获取要附加的片段时遇到了问题。问题是布局在屏幕上显示两次。我认为这是因为我setMenu然后进行替换(再次添加)。

请有人提供一些指示。

public void configureSlidingMenu()
{

    // configure the SlidingMenu
    menu = new SlidingMenu(this);
    menu.setMode(SlidingMenu.RIGHT);
    menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
    menu.setFadeDegree(0.35f);
    menu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
    menu.setFadeDegree(0.35f);
    menu.setBehindOffset(120);
    menu.setMenu(R.layout.fragment_slideoutmenu);
    getFragmentManager()
    .beginTransaction()
    .replace(R.id.slideOutMenu, new SlideOutMenu())
    .commit();
}

1 个答案:

答案 0 :(得分:1)

我在申请中这样做了...... 像这样创建了一个类Util:

public class Util {
    public static void atachLeftMenu(final Activity pActivity){

        final SlidingMenu menu = new SlidingMenu(pActivity);
        menu.setMode(SlidingMenu.LEFT);
        menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
        menu.setShadowWidthRes(R.dimen.shadow_width);
        menu.setShadowDrawable(R.drawable.shadow);
        menu.setBehindOffsetRes(R.dimen.slidingmenu_offset);
        menu.setFadeDegree(0.35f);
        menu.attachToActivity(pActivity, SlidingMenu.SLIDING_WINDOW);
        menu.setMenu(R.layout.side_menu);
        ( (ListView)(menu.findViewById(R.id.side_menu_list)) ).setAdapter(new leftMenuAdapter(pActivity));
        ( (ListView)(menu.findViewById(R.id.side_menu_list)) ).setOnItemClickListener( new DrawerItemClickListener(pActivity));
        //Set menu options and values
    }
}

在每个Activity中我只调用Util的“atachLeftMenu”方法。

Util.atachLeftMenu(this);

如果你想在一个片段中进行,你仍然需要将活动传递给它,这样你就可以这样做:

Util.atachLeftMenu(getActivity());