3

jfenstein のスライディング メニュー ライブラリを使用しています。しかし、2 つのスライド メニューを個別に制御する必要があります。場合によっては、2 番目を無効にする必要があります。

menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); を使用した場合 どちらも効果あり。

この私のコード:

        menu = new SlidingMenu(activity);
        menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
        menu.setShadowDrawable(R.drawable.sliding_menu_shadow);
        menu.setBehindOffsetRes(R.dimen.sliding_menu_offset);
        menu.setFadeDegree(0.35f);
        menu.attachToActivity(activity, SlidingMenu.SLIDING_WINDOW);
        menu.setMenu(R.layout.sliding_menu_frame);

        menu.setMode(SlidingMenu.LEFT_RIGHT);

        SlidingMenuListFragment slidingMenuListFragment = new SlidingMenuListFragment();
        slidingMenuListFragment.setMenuBuilder(this);

        /*
         * left menu
         */
        activity.getSupportFragmentManager().beginTransaction()
        .replace(R.id.sliding_menu_frame, slidingMenuListFragment)
        .commit();



        /*
         * right menu
         */
        SlidingMenuListFragment rightMenu = new SlidingMenuListFragment();
        rightMenu.setMenuBuilder(this);
        menu.setSecondaryMenu(R.layout.sliding_menu_frame);
        activity.getSupportFragmentManager()
        .beginTransaction()
        .replace(R.id.sliding_menu_frame, rightMenu )
        .commit();
4

1 に答える 1

1

私は同じ問題を抱えており、次のように修正します。

//can open left and right panel
menu.setMode(SlidingMenu.LEFT_RIGHT);

//can only open left panel and show only left (perhaps overlay the right panel ?) 
menu.setMode(SlidingMenu.LEFT); 

ただし、次の場合にのみ、右側のパネルを「無効化/非表示にする」ように機能します。

menu.setMode(SlidingMenu.RIGHT);

右側の左側のパネルのみを表示します。

于 2014-12-31T19:23:13.287 に答える