2013-06-01 7 views
5

Używam menu przesuwania z ActionBarSherlock w mojej aplikacji. Pasek akcji i przesuwne menu działają dobrze, ale chcę, aby przesuwne menu przesuwało tylko zawartość, a nie pasek akcji, tak jak najnowsza wersja aplikacji youtube.Android: Menu przesuwane Przesuwanie tylko treści

Czy to możliwe w menu przesuwającym? Jeśli tak, proszę powiedzieć, jak

góry dzięki

Poniżej jest kod dla actionbar i slidingmenu

getSlidingMenu().setSlidingEnabled(true); 
    getSlidingMenu().setShadowWidthRes(R.dimen.shadow_width); 
    getSlidingMenu().setShadowDrawable(R.drawable.shadow); 
    getSlidingMenu().setBehindOffsetRes(R.dimen.actionbar_home_width); 
    getSlidingMenu().setBehindScrollScale(0.25f); 
    getSlidingMenu().setFadeDegree(0.35f); 
    getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); 

    final ActionBar actionBar = getSupportActionBar(); 
    actionBar.setDisplayHomeAsUpEnabled(true); 
+0

po prostu ukryj pasek akcji. – Riser

+0

Nie chcę, aby pasek akcji się ukrywał. musi pozostać niezmieniony, a tylko zawartość pod paskiem akcji przesuwa się o –

+0

, aby zobaczyć to ... https: // github.com/jfeinstein10/SlidingMenu – Riser

Odpowiedz

8

Rozwiązanie:

 setSlidingActionBarEnabled(false); 

referencyjny:

Wystarczy popatrzeć na example

końcowy kod będzie wyglądał mniej więcej tak po dodaniu sugerowanego rozwiązania

getSlidingMenu().setSlidingEnabled(true); 
getSlidingMenu().setShadowWidthRes(R.dimen.shadow_width); 
getSlidingMenu().setShadowDrawable(R.drawable.shadow); 
getSlidingMenu().setBehindOffsetRes(R.dimen.actionbar_home_width); 
getSlidingMenu().setBehindScrollScale(0.25f); 
getSlidingMenu().setFadeDegree(0.35f); 
getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); 

final ActionBar actionBar = getSupportActionBar(); 
actionBar.setDisplayHomeAsUpEnabled(true); 

     setSlidingActionBarEnabled(false); 

Mam nadzieję, że będzie pomocny !!

+0

Nice One @Mehul :) – Riser

+0

@Segi: Dzięki! –

+1

Teraz cały przesuwny został wyłączony. –

0

Próbowałem z podanym rozwiązaniem. Ale to nie działa.

Używam razem SherlockActionBar i SlidingMenu. Działa dobrze, gdy nie ustawiam niczego dla metody setSlidingActionBarEnabled. Ale przesuwa całe okno, chcę je przesuwać tylko wtedy, gdy zawartość zostanie przeciągnięta.

Zadzwoniłem więc tą metodą: setSlidingActionBarEnabled(false);

ten ma kilka problemów:

  1. To sprawia, że ​​aplikacja pokazuje pustą białą stronę, gdy jest ładowany pierwszy. Mam wiele zakładek widocznych na pasku akcji, więc pierwsza karta jest wyświetlana jako wybrana, ale zawartość jest pusta.
  2. Jeśli przesuniemy, gdy mówię, że jestem na karcie 2, zawartość strony (lub za stroną) jest widoczna, ale pokrywa się z tym, co jest aktualnie pokazywane na tab2.

Wszelkie wskazówki byłyby pomocne.

2

Według autora na GitHub:

SlidingMenu Integration

Look w kroku 1. Masz 2 opcje, SlidingMenu.SLIDING_WINDOW lub SlidingMenu.SLIDING_CONTENT.

SLIDING_WINDOW obejmie tytuł/ActionBar w sekcji zawartości z SlidingMenu, natomiast SLIDING_CONTENT nie.

Powiązane problemy