10

Ich versuche, eine ähnliche Statusleiste und Navigationsleiste Farbverlauf wie Google Now zu machen.Google Now Farbverlauf/Schatten auf Statusleiste und Navigationsleiste

Bild-Referenz: Rechteckige Fläche angegeben, wie unten

enter image description here

Nach der unter Option auf Android Eibisch versuchen,

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

ich das unten stehende Verhalten

Bild-Referenz erhalten:

enter image description here

Kann jemand mir vorschlagen, wie man Steigung auf diesen beiden bekommt?
Ist das ein Farbverlauf oder ist das ein Schatten?

+0

nicht mit älteren OS Option gehen, es scheint, dass Sie eine alte OS-Option hinzufügen, haben –

+0

Sie auf ‚minSdkVersion‘ bezieht oder ‚targetSdkVersion '?? .... Ich teste auf Android 6.0-Gerät, der Google-Screenshot ist auch aus dem gleichen Gerät entnommen ... ich habe in meiner Beispiel-App mit minSdkVersion als 21 erwähnt, und targetSdkVersion als 23 –

Antwort

4

Es ist ein Gradient, der als scrim verwendet wird. Um diesen Effekt zu erzielen, müssen Sie zuerst die halbtransparente Unterlage für die Status- und Navigationsleisten entfernen. Another answer Details, wie Sie dies auf niedrigeren Plattformgeräten tun können; aber auf Android Lollipop und höher, können Sie dies einfach durch zwei Stil Einstellung Attribute transparent:

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

Dann, um das Gelege hinzufügen, können Sie ziehbar eine Form verwenden:

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

Sie dann nur setzt diese als Hintergrund kann zu einem View in Ihrem Layout:

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

Sie auch das android:rotation="180" Attribut kann die gleiche Steigung für den Boden th verwenden Der Bildschirm.

+0

Wenn ich es richtig bemerke, Ich konnte sehen, dass es nicht Google jetzt App ist, die den Gitterstoff hat, aber der Startbildschirm (dh Statusleiste selbst hat den Gitterstoff). wir können den Android-Quellcode der Statusleiste überprüfen, wie der Gitterstoff angewendet wird. –

+0

@Jitendar Ich denke nicht, dass es direkt auf die Statusleiste angewendet wird (obwohl ich es nicht vollständig ausschließen würde). Ich denke, dass [Google Now Launcher] (https://play.google.com/store/apps/details?id=com.google.android.launcher & hl = de), die nicht open source ist, wendet den Inhalt scrim auf dem Home-Bildschirm an – Bryan

1

Erster einen Stil hinzufügen, vollständig transparent Aktion Statusleiste zu machen:

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

und hinzufügen Gelege eine ziehbar-Datei erstellen und diesen Code hinzu:

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

und fügen Sie diese als Hintergrund in deinem Thema;

+0

Hat nicht genau so funktioniert, wie es einmal war, aber ich bekomme definitiv einen guten Hinweis von deiner Antwort. – Dhruv

Verwandte Themen