2012-07-15 10 views
8

mi stosując ViewPager do przechodzenia między różnymi fragmentami. Istnieją dwa typy fragmentów, wykorzystujące dwa różne zasoby menu. W razie potrzeby unieważniam menu, aby przełączać się między tymi zasobami. To wszystko działa całkiem dobrze, ale menu jest "przerysowane" bez animacji.skrócie ukrywanie ActionBar bez zmiany rozmiaru aktywny

Aby zapobiec konieczności bałagan z poszczególnych elementów menu miałem nadzieję mogę krótko ukryć ActionBar natomiast nowe menu jest załadowany, pokazujące, kiedy to się stało. Działa to zgodnie z oczekiwaniami, ale rozmiar działania zostanie zmieniony po przełączeniu paska akcji.

Czy istnieje jakiś sposób, aby temu zapobiec, lub w inny sposób ukryć brzydki przejście między zasobami menu?

Odpowiedz

17

Nie dość złapać część menu swojego problemu, ale nie jest to łatwe rozwiązanie do zapobiegania swoją działalność od rozmiaru, gdy pojawi się ActionBar lub znika.

Można powiedzieć ActionBar zwrócić się w trybie overlay, czyli będzie unosić się w górnej części działalności, zamiast faktycznie bycia częścią tego układu za aktywność. Użyj albo android:windowActionBarOverlay w twoim motywie, albo Window.FEATURE_ACTION_BAR_OVERLAY z kodu.

Prawdopodobnie chcesz użyć tej funkcji w połączeniu ze stałą actionBarSize, która określa poprawne przesunięcie dla pierwszego widoku w układzie. W ten sposób zawartość nadal będzie wyświetlana poniżej paska akcji, ale ponieważ pasek akcji sam w sobie jest nakładką, po ukryciu/wyświetleniu go działanie nie zostanie zmienione.

<SomeView 
    ... 
    android:layout_marginTop="?android:attr/actionBarSize" /> 

Więcej informacji można znaleźć w the documentation.

+0

Perfect, działa jak reklamowane :) –

Powiązane problemy