2013-05-29 8 views
5

Gibt es eine Möglichkeit, im Vollbildmodus mit ActionBarSherlock auf Geräten mit API < 11 zu gehen?Vollbildmodus mit ActionBarSherlock auf Geräten mit API <11

Weitere Informationen:

Meine App ActionBarSherlock mit und während auf verschiedenen Geräten zu testen ich auf ein Problem gestoßen.

Wenn ich versuche, tro Start eine Aktivität im Vollbild

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

auf ein Gerät auf einem API läuft weniger als 11 der folgende Fehler aufgetreten:

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. 

Der Fehler tritt auf, Cuz die Linie in das Manifest wird nicht unterstützt für Geräte, die auf APIs laufen < 11.

So weiß ich, was das Problem verursacht, aber ich weiß nicht, wie man es löst. Ich hoffe einer von euch kann mir helfen.

Manifest snipped:

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

Antwort

14

Sie können programmatisch tun:

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

Verwendung vor setContentView().

+0

thx für die schnelle Antwort, die tatsächlich den Trick :) – luQ

+0

Willkommen Dude ... – Sam

+2

hinzufügen getSupportActionBar(). Hide(), um die Aktionsleiste auch ausblenden. – touchchandra

5

Die neueste Version von ABS (ActionBar Sherlock) hat noch keine Theme.Sherlock.Light.NoActionBar oder Theme.Sherlock.Light.NoActionBar.Fullscreen, aber Sie können immer eine Vollbildaktivität erstellen, indem Sie die ActionBar programmgesteuert ausblenden, wie erläutert auf der vorherigen Antwort.

Aber wenn Sie ein Thema oder Stil erstellen möchten, schließen

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

drauf, aber das wird nur Android Statusleiste auszublenden.

getSupportActionBar().hide(); 

, dass Sie einen NoActionBar.Fullscreen Effekt geben wird:

Um die ActionBar in Ihre Aktivitäten (die sich von SherlockActivity oder SherlockFragmentActivity) Code zu verbergen.