10

Benzer durum çubuğu ve gezinme çubuğu degradesini Google Asistan olarak yapmaya çalışıyorum.Google Now Durum çubuğu ve gezinme çubuğundaki degrade/gölge

Görüntü Referans: Dikdörtgen alan

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

aşağıda Davranışı

Görüntü Referans olsun, Android Marshmallow aşağıda seçeneğini denedikten sonra

enter image description here

aşağıda belirtilen:

enter image description here

Her ikisi de bunlardan nasıl gradyan alacağımı önerebilir mi?
Bu bir degrade mi yoksa bu bir gölge mi?

+0

, Size –

+0

sen 'minSdkVersion'ın' veya 'targetSdkVersion bahsediyorsun eski işletim seçeneği eklemek zorunda görünüyor '?? .... Android 6.0 cihazında test yapıyorum, google şimdi ekran görüntüsü de aynı cihazdan alındı ​​... örnek uygulamasında minSdkVersion 21 ile belirttim ve 23 –

cevap

4

scrim olarak kullanılan bir degrade. Bu etkiyi elde etmek için yapmanız gereken ilk şey, Durum ve Gezinme çubukları için yarı saydam altlık kaldırmaktır. Another answer, daha düşük platform cihazlarında bunu nasıl yapabileceğinizi anlatır; ancak Android Lollipop ve sonraki işletim sistemine, sadece iki stili ayarlama yapabilirsiniz şeffaf nitelikleri: size Sonra

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

:

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

, scri eklemek için, çekilebilir bir şekil kullanabilirsiniz Ayrıca th dibine için aynı gradyan kullanmak android:rotation="180" niteliğini ayarlayabilirsiniz

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

: sadece düzeninde bir View arka planı olarak ayarlayabilirsiniz e ekran.

+0

olarak targetSdkVersion doğru bir şekilde fark edersem, Ben şimdi google uygulaması değil, ama ekrana sahip olduğunu görebiliyordu ana ekranı (yani durum çubuğunun kendisi de vardır). Durum çubuğunun android kaynak kodunu kontrol edebiliriz, nasıl uygulanır? –

+0

@Jitendar Doğrudan durum çubuğuna uygulandığını düşünmüyorum (tamamen yönetmeme rağmen). [Google Asistan Başlatıcı] (https://play.google.com/store/apps/details?id=com.google.android.açık kaynak olmayan başlatıcı & hl = tr), ana ekrana içerik kanadı uygular – Bryan

1

İlk tamamen şeffaf eylem durum çubuğu yapmak için bir stil eklemek:

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

ve bir çizilebilir dosyası oluşturun ve bu kodu eklemek scri eklemek için:

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

ve arka plan olarak bu ekleyin temanızda;

Bu bağlantıyı ödeme yapabilirsiniz
+0

Tam olarak eskiden olduğu gibi çalışmamıştım ama cevabınızdan kesinlikle iyi bir ipucu aldım. – Dhruv