2013-01-18 15 views
7

I Bild als Fenster Hintergrund setzte:Fenster Hintergrund wird durch Statusleiste abgeschnitten

<style name="AppTheme" parent="@android:style/Theme.Holo.Light"> 
    <item name="android:windowBackground">@drawable/bg_window</item> 
</style> 

Es ist für Tabletten und Vollbild-Fenster funktioniert:

enter image description here

aber am Mobilteil wird es abgeschnitten von Statuszeile:

enter image description here

Funktionieren so die Dinge? Wie vermeide ich es? Natürlich könnte ich den Hintergrund für jedes Layout festlegen, aber ich möchte wissen, ob dies der einzige Weg ist, um das Problem zu lösen.

Antwort

2

es in der folgenden Art und Weise versuchen ..

<style name="AppTheme" parent="@android:style/Theme.Holo.Light.NoActionBar.Fullscreen"> 
<item name="android:windowBackground">@drawable/bg_window</item> 
</style> 

:)

+0

Das ist definitiv eine Option, aber Statusleiste wird auf den Telefonen inaccesible sein, und ich will nicht, dass das passiert. –

+0

Eine weitere Option besteht darin, das Hintergrundbild als Hauptlayout-Hintergrund festzulegen. – Anu

+0

Ich habe diesen Ansatz in meiner Frage erwähnt. –

3

dieses Problem Meine Lösung (zumindest für Telefone) war eine xml ziehbar mit der Statusbar Höhe wie die Oberseite zu schaffen Offset

z ziehbar/window_background.xml:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" > 
    <item android:top="25dp"> 
     <bitmap android:src="@drawable/some_background" /> 
    </item> 
</layer-list> 

Das wird nicht funktionieren, wenn die Statusleiste auf der Unterseite ist jedoch.

EDIT: bearbeitet die Antwort eines einzelnen XML-ziehbar zu verwenden, da durch Aleksejs Mjaliks sugested

+0

Ja, ich brauche meine App, um sowohl auf Tablets als auch auf Telefonen zu laufen. Aber danke für die Idee trotzdem. –

+0

Hatte einfach eine andere Idee. Anstelle verschiedener xmls für jede Statusbargröße könnten wir eine Dimension für diese Höhe in den verschiedenen Wert-Ordnern definieren, z. und in Werten-sw720dp-land könnte dies 0dp sein. Oder wir könnten eine andere window_background.xml in drawable-swxxx-Ordner für Tablets einfügen. – Zarokka

+0

Einige 7 "Tablets (zB Galaxy Tab) können eine Statusleiste am oberen oder unteren Bildschirmrand haben. Ich bin mir nicht sicher, aber es sieht so aus, als ob sie von der installierten Android Version abhängt. –

Verwandte Themen