Navigazione traslucida senza layout che si visualizza sotto la barra di stato

Sto usando la nuova bandiera di Android 4.4 FLAG_TRANSLUCENT_NAVIGATION per girare la barra di navigazione (indietro, button di casa ecc.) Nella parte inferiore dello schermo trasshiny. Questo funziona bene ma un effetto collaterale di questo è il layout della mia attività ora visualizzato sotto la barra di stato nella parte superiore dello schermo (anche se non ho impostato la barra di stato come traslucida). Voglio evitare una correzione hacky o applicare l'imbottitura alla parte superiore del layout.

C'è un modo per impostare la navigazione come traslucida assicurandosi che la barra di stato sia visualizzata normalmente e NON permette che il layout venga visualizzato sotto?

  • La punta UDP non è ansible con il fornitore mobile
  • Servizio web RESTfull che utilizza oAuth per applicazioni mobili
  • Estensione della class di Android View per aggiungere un dropshadow
  • android cerca bar personalizzazione,
  • Come provare facilmente gli acquisti in-app, senza pubblicarlo o firmarlo in primo luogo?
  • Agitare il dispositivo per lanciare l'applicazione
  • Il codice che utilizzo è il seguente:

     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { Window w = getWindow(); w.setFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION, WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); } 

    Grazie

  • la lunghezza massima del file in Android
  • Come get il formato data selezionato dall'utente in Android?
  • Cambiare dynamicmente il limite di un riferimento di query Firebase su Android
  • Il modo migliore per gestire i riferimenti Firebase con Android
  • Come rilevare il tipo di chip NFC
  • Phonegap: l'URL di origine non è in Whitelist
  • 2 Solutions collect form web for “Navigazione traslucida senza layout che si visualizza sotto la barra di stato”

    La risposta di ianhanniballake funziona effettivamente, ma non si dovrebbe usare android:fitsSystemWindows="true" nella vista frontale. Utilizzare questa properties; come segue:

     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="@color/colorPrimaryDark"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#ffffff" android:fitsSystemWindows="true"> <!-- Your other views --> </LinearLayout> </LinearLayout> 

    Come potete vedere, è necessario impostare il colore nella vista di livello superiore e mettere la properties; su un altro contenitore.

    Aggiungi android:fitsSystemWindows="true" alla tua vista di livello superiore – android: fitsSystemWindows ridimensionerà automaticamente la vista per tener conto delle windows di sistema come la barra di stato.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.