Barra de herramientas de sombra en la barra de estado de Lollipop
Estoy utilizando una plantilla de Android Studio que utiliza la AppCompat Toolbar
. Desafortunadamente, la barra de herramientas arroja sombra en la barra de estado para que no se vea bien. También implemento un NavigationDrawer
así que no puedo simplemente establecer el color de la barra de estado.
Así es como se ve:
- Ocultando la barra de estado mientras muestra Alert Dialog Android
- Cerrar la barra de estado después de hacer clic en Notificación
- ¿Cómo se anima el icono de estado de sincronización de Android?
- Utilizar windowTranslucentStatus con CollapsingToolbarLayout
- ¿Cajón de la navegación sobre la barra de estado en turrón?
Así es como debería ser:
Activity_main.xml
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:openDrawer="start"> <include layout="@layout/app_bar_main" android:layout_width="match_parent" android:layout_height="match_parent" /> <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="start" app:headerLayout="@layout/nav_header_main" app:menu="@menu/activity_main_drawer" /> </android.support.v4.widget.DrawerLayout>
App_bar_main.xml
<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:context="hu.pe.thinhhoang.aaosync.MainActivity"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" /> </android.support.design.widget.AppBarLayout> <include layout="@layout/content_main" /> </android.support.design.widget.CoordinatorLayout>
Styles.xml (v21)
<resources>> <style name="AppTheme.NoActionBar"> <item name="windowActionBar">false</item> <item name="windowNoTitle">true</item> <item name="android:windowDrawsSystemBarBackgrounds">true</item> <item name="android:statusBarColor">@android:color/transparent</item> </style> </resources>
- Cómo cambiar el color de la barra de herramientas y los colores de la barra de estado de acuerdo con el color de la imagen en el diseño de material android?
- Problema con windowTranslucentNavigation
- ¿Cómo aplicar gradiente a la barra de estado en android?
- Barra de estado de superposición en android 4.2.2+
- ¿Error de notificación de la barra de estado personalizada de Android?
- Cómo deshabilitar la barra de estado o barra de notificación, pero no deshabilitar la barra de título en android?
- Cómo cerrar la barra de estado / el panel de notificaciones después de hacer clic en el botón de notificación
- Mi barra de estado en el android 4.2.2 emulador está roto
Esta sombra es parte de windowContentOverlay
en APIs debajo de LOLLIPOP (en LOLLIPOP es @null ).
Cuando se trabaja con el widget Barra de herramientas, la barra de herramientas no forma parte de la decoración de la ventana, por lo que la sombra comienza en la parte superior de la ventana sobre la barra de herramientas en lugar de debajo (por lo que desea que windowContentOverlay sea @null). Además, es necesario agregar una vista vacía adicional debajo de la barra de herramientas pre-LOLLIPOP con su fondo configurado a una sombra vertical 8dp tall gradient
( 8dp tall gradient
de 8dp tall gradient
de #20000000
a #00000000
funciona mejor). En LOLLIPOP puede set 8dp elevation
en la barra de herramientas.
Ponga un LinearLayout de esta manera:
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:context=".ui.activities.MainScreenActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" /> </android.support.design.widget.AppBarLayout> <include layout="@layout/content_main_screen" /> </LinearLayout> </android.support.design.widget.CoordinatorLayout>
Eso se debe a:
<item name="android:statusBarColor">@android:color/transparent</item>
supongo.
Lo tengo , compruebe esto:
http://developer.android.com/training/material/theme.html#StatusBar
Para establecer un color personalizado para la barra de estado, utilice el atributo
android:statusBarColor
al extender el tema de material . De forma predeterminada,android:statusBarColor
hereda el valor deandroid:colorPrimaryDark
.
Y lo ha configurado para que sea transparent
. Esta no es una buena forma de hacerlo desde que Google le puso este código:
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
Y también, en lugar de:
<style name="AppTheme.NoActionBar">
Use esto y agregue un padre y compruebe:
<style name="AppTheme.NoActionBar" parent="Theme.AppCompat.Light.NoActionBar">
Intenté todas las otras respuestas y ninguna funcionó. Lo que se fijó fue añadir esto a la AppBarLayout:
app:elevation="0dp"
Para obtener el comportamiento correcto, deberá eliminar
android:fitsSystemWindows="true"
Desde android.support.design.widget.CoordinatorLayout
En su styles.xml
, el color definido en colorPrimaryDark
se utilizará para dibujar la barra de notificación.
Tendrás que tener styles.xml
en tu carpeta values-v21
con el siguiente elemento en tus estilos:
<item name="android:statusBarColor">@android:color/transparent</item>
Espero que esto ayude.
- ¿Dónde está el archivo APK almacenado después de la creación del androide de phonegap es exitoso?
- Eclipse detectando el mismo dispositivo varias veces