2

我将这个库用于我的滑动菜单。https://github.com/jfeinstein10/SlidingMenu

我最大的问题是,我使用的是 ViewPagerIndicator。因此,假设我添加了三个选项卡到 viewpager,我在其中膨胀了 3 个片段,Tab1、Tab2、Tab3。

从右向左滑动时,我从 Tab1 转到 Tab2。在 Tab1 从左向右滑动时,会打开滑动菜单。

但是假设我在 tab2 中,我从左向右滑动。这应该打开选项卡 1 而不是滑动菜单,它在这里做的。

在我的 BaseActivity 中,这是我添加的代码:

    menu = new SlidingMenu(this);
    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(this, SlidingMenu.SLIDING_CONTENT);
        menu.setMenu(R.layout.base_layout);


    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

当我不在 Tab1 中时,如何停止滑动菜单滑动?

4

2 回答 2

2

您应该查看它提供的示例应用程序,示例总是为您提供意想不到的解决方案。

yourViewPagerIndicator.setOnPageChangeListener(new OnPageChangeListener() {
    @Override
    public void onPageScrollStateChanged(int arg0) { }

    @Override
    public void onPageScrolled(int arg0, float arg1, int arg2) { }

    @Override
    public void onPageSelected(int position) {
        switch (position) {
            case 0:
                getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
                break;
            default:
                getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_MARGIN);
                break;
        }
    }
});
于 2013-08-22T13:28:46.240 回答
0

getSlidingMenu().setSlidingEnabled(false);当您在选项卡布局中时,您可以通过调用停止滑动菜单的另一种方法

于 2015-04-01T03:34:42.947 回答