2013-08-22 2 views
2

Я использую эту библиотеку для своего раздвижного меню. https://github.com/jfeinstein10/SlidingMenuСлайд-панель меню переполняет вкладки ViewPager. Как остановить это?

Моя самая большая проблема заключается в том, что я использую 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

Вы должны проверить прилагаемое образец приложения, образец всегда дает вам большие неожиданные решения.

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; 
     } 
    } 
}); 
+0

Этот ответ должен быть выбран как правильный. Спасибо @Chor WaiChun – edrian

0

Другим способом вы можете остановить меню слайд вызовом getSlidingMenu().setSlidingEnabled(false); когда в закладке макета

Смежные вопросы