Intereting Posts
Java.lang.VerifyError при запуске тестов на Android с testCoverageEnabled = true Не удалось слияние манифеста: use-sdk: minSdkVersion 14 Android, как установить кнопку, чтобы иметь прозрачный фон, но набросать еще там Хорошие книги по расширенной реальности на платформе Android? Имущество должно быть инициализировано или абстрактно Устойчивое определение имени по умолчанию в проекте Android в Eclipse Отслеживание событий подписки на Android в приложении с помощью Firebase Analytics Импортировать мой пользовательский класс и вызвать его метод? Gradle Duplicate Entry: java.util.zip.ZipException Android: WebView долженInterceptRequest не добавлять RequestProperties в WebView Как показать кнопку меню на Android 3.0? Проблемы с созданием нескольких таблиц в sqlite Android: проверка кнопки включена Как правильно запустить ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS? Как предоставить возможность выбора Wi-Fi или GPRS для подключения к сети в приложении для Android

Градиент / тень Google Now на панели состояния и панели навигации

Я пытаюсь создать аналогичную строку состояния и градиент навигационной панели как Google Now.

Ссылка на изображение: прямоугольная область, указанная ниже

Введите описание изображения здесь

Попробовав параметр ниже на Android Marshmallow,

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

Я получаю следующее поведение

Ссылка на изображение:

Введите описание изображения здесь

Может ли кто-нибудь предложить мне, как получить градиент по обоим этим?
Это градиент или это тень?

Solutions Collecting From Web of "Градиент / тень Google Now на панели состояния и панели навигации"

Это градиент, используемый как холст . Чтобы добиться этого эффекта, первое, что вам нужно сделать, это удалить полупрозрачную подложку для баров статуса и навигации. В другом ответе подробно описывается, как вы можете это сделать на устройствах с более низкой платформой; Но на Android Lollipop и выше вы можете сделать это просто, установив два атрибута стиля прозрачным:

 <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> 

Затем, чтобы добавить холст, вы можете использовать форму:

 <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> 

Затем вы можете просто установить это как фон для представления в своем макете:

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

Вы также можете установить атрибут android:rotation="180" чтобы использовать тот же градиент для нижней части экрана.

Сначала добавьте стиль, чтобы сделать полностью прозрачную панель состояния действия:

 <!-- 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> 

И для добавления scrim к нему создайте файл с возможностью рисования и добавьте этот код:

 <?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> 

И добавьте это как фон в свою тему;

Вы можете проверить эту ссылку: https://github.com/jgilfelt/SystemBarTint

Работал для меня