滑动菜单栏超越了ViewPager选项卡。如何阻止这种情况发生?

时间:2013-08-22 13:09:00

标签: android

我正在使用此库作为我的滑动菜单。 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时,如何停止滑动菜单滑动?

2 个答案:

答案 0 :(得分: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;
        }
    }
});

答案 1 :(得分:0)

当您在标签布局

中时,可以通过调用getSlidingMenu().setSlidingEnabled(false);停止幻灯片菜单的另一种方法