Degradado / sombra de Google Now en la barra de estado y la barra de navegación

Estoy tratando de hacer una barra de estado similar y barra de navegación degradado como Google Now.

Referencia de la imagen: Área rectangular indicada como abajo

Introduzca aquí la descripción de la imagen

Después de probar la siguiente opción en Android Marshmallow,

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

Recibo el siguiente comportamiento

Referencia de la imagen:

Introduzca aquí la descripción de la imagen

¿Puede alguien sugerirme cómo obtener gradiente en ambos?
¿Es un gradiente o es una sombra?

Se trata de un gradiente que se utiliza como una malla . Para lograr este efecto, lo primero que tiene que hacer es quitar la capa inferior semitransparente de las barras Estado y Navegación. Otra respuesta explica cómo puede hacerlo en los dispositivos de plataforma inferiores; Pero en Android Lollipop y superior, puede hacerlo simplemente estableciendo dos atributos de estilo a transparente:

 <resources xmlns:android="http://schemas.android.com/apk/res/android"> <style name="Theme" parent="android:Theme.Material.Wallpaper.NoTitleBar"> <item name="android:statusBarColor">@android:color/transparent</item> <item name="android:navigationBarColor">@android:color/transparent</item> <item name="android:windowTranslucentStatus">true</item> <item name="android:windowTranslucentNavigation">true</item> </style> </resources> 

A continuación, para añadir la malla, puede utilizar una forma dibujable:

 <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:type="linear" android:angle="270" android:centerY="0.3" android:startColor="#66000000" android:centerColor="#33000000" android:endColor="#00000000"/> </shape> 

A continuación, sólo puede configurar esto como el fondo de una View en su diseño:

 <View android:layout_width="match_parent" android:layout_height="72dp" android:background="@drawable/scrim"/> 

También puede configurar el atributo android:rotation="180" para usar el mismo degradado para la parte inferior de la pantalla.

Primero agregue un estilo para hacer una barra de estado de acción totalmente transparente:

 <!-- Base application theme. --> <style name="TransparentTheme" parent="android:Theme.Holo.Light"> <!-- Customize your theme here. --> <item name="android:windowBackground">@null</item> <item name="android:actionBarStyle">@style/ActionBarStyle.Transparent</item> <item name="android:windowActionBarOverlay">true</item> </style> <style name="ActionBarStyle.Transparent" parent="android:Widget.ActionBar"> <item name="android:background">@null</item> <item name="android:displayOptions">showHome|showTitle</item> <item name="android:titleTextStyle">@style/ActionBarStyle.Transparent.TitleTextStyle</item> </style> <style name="ActionBarStyle.Transparent.TitleTextStyle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title"> <item name="android:textColor">@android:color/white</item> </style> 

Y para añadir scrim a crear un archivo dibujable y agregar este código:

 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#88000000" /> <gradient android:angle="90" android:centerColor="#66000000" android:centerY="0.3" android:endColor="#00000000" android:startColor="#CC000000" android:type="linear" /> </shape> 

Y agregue esto como fondo en su tema;

Puede descargar este enlace: https://github.com/jgilfelt/SystemBarTint

Trabajado para mi

  • Alpha-gradient en Android
  • Especificación del nombre de archivo desplegado para el artefacto AAR en el proyecto de biblioteca de Android
  • Cómo hacer gradiente de fondo en android
  • ¿Cómo incluir múltiples Repositorios en build.gradle?
  • Sweep Gradient: Qué es y sus ejemplos
  • Android dibujable con fondo y degradado a la izquierda
  • Android-cómo hacer un gradiente de 4 colores de alta calidad?
  • Cómo subir varios archivos de Android (uno para cada sabor)
  • Cómo hacer un doble degradado con XML (iphone like)
  • Gradle plugin 'com.android.library' no busca en los depósitos personalizados de maven
  • Gradle para Android, AARs y dependencias condicionales
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.