2010-06-19 20 views
8

Meine App läuft korrekt im Vollbildmodus, wenn es gestartet wird. Nach dem Minimieren und dem anschließenden Zurückkehren zur App erscheint die Statusleiste und verschiebt meine Ansichten ein wenig nach unten. Wie kann ich verhindern, dass die Statusleiste meine Ansichten verschiebt?Android - Statusleiste verhindert Vollbild

Hier ist mein Layout:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:myapp="http://schemas.android.com/apk/res/com.example.draw" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
> 
    <com.example.draw.DrawView 
     android:id="@+id/draw" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:visibility="visible" 
     android:fitsSystemWindows="false" 
    />  
<com.admob.android.ads.AdView  
     android:id="@+id/ad" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     myapp:backgroundColor="#000000" 
     myapp:primaryTextColor="#FFFFFF" 
     myapp:secondaryTextColor="#CCCCCC" 
     android:layout_gravity="bottom" 
/>  

Hier ist ein Teil onCreate meiner Tätigkeit der:

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

requestWindowFeature(Window.FEATURE_NO_TITLE); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, 
    WindowManager.LayoutParams.FLAG_FULLSCREEN); 

ich das Vollbild-Thema auch im Manifest habe

Danke

+0

Welche SDK-Version verwenden Sie? Und führen Sie die App im Emulator oder einem echten Telefon? Macht es einen Unterschied? –

+0

Hallo, Haben Sie eine Lösung für Ihr Problem gefunden? – kgnkbyl

Antwort

0

Nur Android: theme = "@ android: Stil/Theme.NoTitleBar.Fullscreen" Attribut auf Ihre Aktivität auf dem Manifest ist genug. Hope it works

+2

Nein. Ich habe dies in der Manifest, aber nur mit diesem hilft nicht. –

16

Sie dieses Problem beheben können mit:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); 

(tun, dass in onCreate) .... note dass das wird die Soft-Tastatur (IME) brechen - als Edittext kann nicht mehr über die Tastatur in den Blick gleiten. Das Flag verhindert, dass das Fenster aus überhaupt zu bewegen ....

Wenn Sie einen Text bearbeiten müssen auch arbeiten, während der Status Fehler behebt Sie

someEditText.setOnFocusChangeListener(new View.OnFocusChangeListener() { 
     public void onFocusChange(View v, boolean hasFocus) { 
      if (hasFocus) { 
       getWindow().clearFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); 
      } else { 
       hideKeyboard(); 
       getWindow().setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); 
      } 
     } 
    }); 
+0

Ich hatte das gleiche Problem bei zwei verschiedenen Aktivitäten und diese Lösung war perfekt für mich. Vielen Dank! – honeal

+0

Haben Sie eine Idee, wie es in XML gemacht werden kann, nicht in der Laufzeit? Siehe meine Frage: http://stackoverflow.com/questions/11215180/how-to-make-activity-theme-with-windowmanager-layoutparams-flag-layout-no-limits – Vadim

+0

funktioniert für mich. groß! –

0

tun kann, ich hatte das gleiche Problem. Ich habe die Aktivität für das Interstitial geändert und gelöscht: android: theme = "@ android: style/Theme.Translucent"

Verwandte Themen