多个android-menudrawer在同一个活动中

时间:2013-03-03 00:11:34

标签: android android-activity menu drawer

我现在正在使用https://github.com/SimonVT/android-menudrawer中的menudrawer。

当我尝试从顶部显示菜单时在底部,有了合适的姿势,我只得到一个回应。你知道在同一个活动中是否可以使用超过1个菜单吗?

    mMenuDrawer = MenuDrawer.attach(this, MenuDrawer.MENU_DRAG_CONTENT, Position.TOP);
    mMenuDrawer.setTouchMode(MenuDrawer.TOUCH_MODE_FULLSCREEN);
    mMenuDrawer.setContentView(R.layout.activity_main);
    mMenuDrawer.setMenuView(R.layout.mt_main);

    mMenuDrawer2 = MenuDrawer.attach(this, MenuDrawer.MENU_DRAG_CONTENT, Position.BOTTOM);
    mMenuDrawer2.setTouchMode(MenuDrawer.TOUCH_MODE_FULLSCREEN);
    mMenuDrawer2.setContentView(R.layout.activity_main);
    mMenuDrawer2.setMenuView(R.layout.mb_main);

4 个答案:

答案 0 :(得分:1)

我在我的活动中使用了两个menudrawers,我按照以下方式使用它们(并且它为我工作)

mMenuDrawer = MenuDrawer.attach(this, MenuDrawer.MENU_DRAG_CONTENT, Position.TOP);
        mMenuDrawer.setTouchMode(MenuDrawer.TOUCH_MODE_FULLSCREEN);
        mMenuDrawer.setDropShadowEnabled(false);

mMenuDrawerRight = MenuDrawer.attach(this, MenuDrawer.MENU_DRAG_CONTENT, Position.RIGHT);
        mMenuDrawerRight.setTouchMode(MenuDrawer.TOUCH_MODE_BEZEL );
        mMenuDrawerRight.setTouchBezelSize(10);
        mMenuDrawerRight.setDropShadowEnabled(false);

答案 1 :(得分:0)

如果图书馆支持此类内容MenuDrawer.TOUCH_MODE_FULLSCREEN根本无法帮助...请尝试使用MenuDrawer.TOUCH_MODE_BEZEL

答案 2 :(得分:0)

最后我查了一下,MenuDrawer没有正式支持多个抽屉而没有使用某种黑客。 SlidngMenu确实支持在任何地方添加多个抽屉。我认为MenuDrawer表现更好,但SlidingMenu为您提供了更多选择和灵活性。

答案 3 :(得分:0)

可以将两个MenuDrawer(左侧和右侧)附加到相同的活动

MenuDrawer的默认模式为MENU_DRAG_CONTENT,但我们需要使用MENU_DRAG_WINDOW

注意:请勿为MenuDrawers设置ContentView

//In onCreate() of the activity
MenuDrawer slidingMenuLeft = MenuDrawer.attach(this, MenuDrawer.Type.OVERLAY, Position.LEFT, MenuDrawer.MENU_DRAG_WINDOW);
slidingMenuLeft.setMenuView(R.layout.navigation_menu_left); // Set layout for Left menu

MenuDrawer slidingMenuRight = MenuDrawer.attach(this, MenuDrawer.Type.OVERLAY, Position.RIGHT, MenuDrawer.MENU_DRAG_WINDOW);
slidingMenuRight.setMenuView(R.layout.navigation_menu_right);  // Set layout for Right menu

我没有使用触摸模式MenuDrawer.TOUCH_MODE_FULLSCREEN

对此进行测试