2013-05-29 9 views
5

Czy istnieje sposób, aby przejść w trybie pełnoekranowym za pomocą ActionBarSherlock na urządzeniach z interfejsem API < 11?Tryb pełnoekranowy za pomocą ActionBarSherlock na urządzeniach z uruchomionym interfejsem API <11

Dalsze informacje:

Moja aplikacja używa ActionBarSherlock i podczas testowania na różnych urządzeniach natknąłem się na problem.

jeśli staram TRO rozpocząć działalność w pełnym ekranie

android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 

na urządzenia z systemem na API niższy niż 11 następujący błąd wystąpił:

05-29 10:12:54.436: E/AndroidRuntime(1034): FATAL EXCEPTION: main 
05-29 10:12:54.436: E/AndroidRuntime(1034): java.lang.RuntimeException: Unable to start activity  ComponentInfo{de.osthessennews.osthessennewsapp/com.example.listview.PlayVideo}: java.lang.IllegalStateException: You must use Theme.Sherlock, Theme.Sherlock.Light, Theme.Sherlock.Light.DarkActionBar, or a derivative. 

Błąd występuje, bo Line w Manifest nie jest obsługiwany dla Urządzeń działających na API < 11.

Więc wiem, co jest przyczyną problemu, ale nie wiem jak go rozwiązać. Mam nadzieję, że któryś z was może mi pomóc.

Oczywisty snipped:

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher"  
    android:label="@string/app_name" 
    android:theme="@style/Theme.Sherlock" > 
    > 

Odpowiedz

14

można zrobić programowo:

this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
      WindowManager.LayoutParams.FLAG_FULLSCREEN); 

Korzystanie przed setContentView().

+0

thx za szybką odpowiedź, to naprawdę podstęp :) – luQ

+0

Witamy Dude ... – Sam

+2

dodać getSupportActionBar(). Hide(), aby ukryć pasek akcji również. – touchchandra

5

Najnowsza wersja systemu ABS (ActionBar Sherlock) nadal nie ma motywu.Sherlock.Light.NoActionBar ani Theme.Sherlock.Light.NoActionBar.Fullscreen, ale zawsze można utworzyć aktywność na pełnym ekranie, ukrywając program ActionBar programowo, jak wyjaśniono w poprzedniej odpowiedzi.

Ale jeśli chcesz utworzyć motyw lub stylu, to

<item name="android:windowFullscreen">true</item> 

na nim, ale to będzie tylko ukryć pasek stanu Androida.

Aby ukryć ActionBar w swoich działaniach (rozciągający się od SherlockActivity lub SherlockFragmentActivity) kod:

getSupportActionBar().hide(); 

który daje efekt NoActionBar.Fullscreen.