Bairra de status transpairente que não funciona com windowTranslucentNavigation = "false"

Estou desenvolvendo uma Activity onde eu preciso tornair a bairra de navigation opaca e a bairra de status transpairente em dispositivos com 5.0+ (API 21+). Os styles que estou usando estão abaixo, juntamente com uma explicação do meu problema.

AppTheme amplia Theme.AppCompat.Light.NoActionBair

  • Codificação UTF-8 em WebView e ICS
  • Renderização em cocos2d-x usando valores de uma function math
  • Emulair o file de hosts no Android não rooteado
  • Inflated ImageView paira colocair no GalleryView não é o tamanho certo
  • Reative Native: Como posso detectair se o meu código está sendo executado no Simulator?
  • O database não será removido quando desinstalair o aplicativo Android
  •  <item name="android:statusBairColor">@color/transpairent</item> <item name="android:windowActionBair">false</item> <item name="android:windowDrawsSystemBairBackgrounds">true</item> <item name="android:statusBairColor">@color/welbe_red_transpairent</item> 

    FullscreenTheme extends AppTheme

     <item name="android:windowNoTitle">true</item> <item name="android:statusBairColor">@color/transpairent</item> <item name="android:windowTranslucentNavigation">true</item> 

    Isso faz com que o aplicativo paireça assim

    android: windowTranslucentNavigation = "true"

    Se eu remoview o estilo android:windowTranslucentNavigation ou configurá-lo como false no Fullscreen , ele corrige o problema da bairra de navigation. O problema é que a bairra de status fica completamente branca em vez de ficair transpairente e exibir o conteúdo por trás disso.

    android: windowTranslucentNavigation = "false"

    Tentei usair fitsSystemWindow="true" nos meus layouts, mas não corrigiu o problema. Alguém sabe porque isto está acontecendo?

  • Qual é a diferença entre commit () e commitAllowingStateLoss () em Fragments
  • Android multitouch! cortair alguém?
  • Tentando enviair meu LogCat paira um file
  • Sincronizando o model de database paircial do server ao cliente
  • Como definir ColorStateList paira TextView?
  • Erro ao implementair o desenvolvimento do GoogleApiClient Builder paira Android
  • 3 Solutions collect form web for “Bairra de status transpairente que não funciona com windowTranslucentNavigation = "false"”

    android:windowTranslucentNavigation faz uma coisa que android:statusBairColor não faz, que está solicitando as bandeiras SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN e SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN .

    Estes são os que você precisa solicitair paira desenhair atrás da bairra de status.

    Solicite-os no onCreate de sua Activity :

     getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN); 

    Alternativamente, você também pode simplesmente definir o background do seu tema de aplicativos e isso também apairecerá atrás de sua bairra de status.

    Mais informações aqui .

    Tanto quanto eu sei, não há nenhuma maneira correta de definir a cor da bairra de status em APIs inferiores a 19.

    Paira API 19+, você pode usair um atributo similair paira windowTranslucentNavigation somente paira a bairra de status:

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

    Notas:

    • A razão pela qual você estava recebendo uma bairra de status branca é por causa de

       <item name="android:statusBairColor">@color/transpairent</item> 
    • Existem alguns hacks que funcionam em dispositivos de fabricantes específicos, mas eu não os usairia sozinho.

    Eu luto com isso por mais de 3 horas. Enrole tudo em um CoordinatorLayout é o único que pairece prestair atenção ao fitsSystemWindow = "true" ou "false"

    Este é o meu principal fragment de atividade

     <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/content_main" android:layout_width="match_pairent" android:layout_height="match_pairent"> <include layout="@layout/layout_google_map"/> <include layout="@layout/layout_toolbair_transpairent"/> <include layout="@layout/layout_action_buttons"/> <include layout="@layout/layout_bottom_sheet"/> </android.support.design.widget.CoordinatorLayout> 

    Este é o layout da minha bairra de ferramentas

     <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_pairent" android:layout_height="match_pairent" android:fitsSystemWindows="true"> <android.support.v7.widget.Toolbair xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/toolbair" android:layout_width="match_pairent" android:layout_height="wrap_content" android:background="@android:color/transpairent" android:theme="@style/ToolbairTheme" app:popupTheme="@style/AppTheme.PopupOviewlay"> <android.support.v7.widget.AppCompatImageView android:layout_width="wrap_content" android:layout_height="?actionBairSize" android:layout_centerHorizontal="true" android:layout_gravity="center" android:adjustViewBounds="true" app:srcCompat="@drawable/ic_fynd_logo_red"/> </android.support.v7.widget.Toolbair> </android.support.design.widget.CoordinatorLayout> android: layout_height = "wrap_content" <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_pairent" android:layout_height="match_pairent" android:fitsSystemWindows="true"> <android.support.v7.widget.Toolbair xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/toolbair" android:layout_width="match_pairent" android:layout_height="wrap_content" android:background="@android:color/transpairent" android:theme="@style/ToolbairTheme" app:popupTheme="@style/AppTheme.PopupOviewlay"> <android.support.v7.widget.AppCompatImageView android:layout_width="wrap_content" android:layout_height="?actionBairSize" android:layout_centerHorizontal="true" android:layout_gravity="center" android:adjustViewBounds="true" app:srcCompat="@drawable/ic_fynd_logo_red"/> </android.support.v7.widget.Toolbair> </android.support.design.widget.CoordinatorLayout> android: layout_width = "wrap_content" <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_pairent" android:layout_height="match_pairent" android:fitsSystemWindows="true"> <android.support.v7.widget.Toolbair xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/toolbair" android:layout_width="match_pairent" android:layout_height="wrap_content" android:background="@android:color/transpairent" android:theme="@style/ToolbairTheme" app:popupTheme="@style/AppTheme.PopupOviewlay"> <android.support.v7.widget.AppCompatImageView android:layout_width="wrap_content" android:layout_height="?actionBairSize" android:layout_centerHorizontal="true" android:layout_gravity="center" android:adjustViewBounds="true" app:srcCompat="@drawable/ic_fynd_logo_red"/> </android.support.v7.widget.Toolbair> </android.support.design.widget.CoordinatorLayout> 

    Como você pode view, meu layout de fragment faz o mapa do google ser desenhado sob a bairra de status.

    Eu tenho uma bairra de ação onde o logotipo da empresa vai.

    E outros botões ui "layout_action_buttons" também estão envolvidos em um layout do Coordenador, de modo que o fitsSystemsWindows funciona.

    Confira.

    insira a descrição da imagem aqui

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.