2017-01-24 18 views
7

support V25. Alt navigasyon adı verilen yeni bir bileşene sahibiz.Alt gezinmeye nasıl ayarlanacağı

Tasarım yönergeleri izleyin, Alt Navigasyon en elevation8dp (https://material.io/guidelines/components/bottom-navigation.html#bottom-navigation-specs)

olmalıdır Ama buna elevation ayarlanamaz.

Herhangi bir öneri, örnek takdir edilecektir. Teşekkür ederim!

GÜNCELLEME XML KOD

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

<android.support.design.widget.BottomNavigationView 
    android:id="@+id/bottom_navigation" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:elevation="8dp" 
    app:elevation="8dp" 
    app:itemBackground="@color/colorPrimary" 
    app:itemIconTint="@drawable/bottom_nav_color_state" 
    app:itemTextColor="@drawable/bottom_nav_color_state" 
    app:menu="@menu/bottom_navigation_main"/> 

<FrameLayout 
    android:id="@+id/contentFrame" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_above="@id/bottom_navigation" 
    android:background="#EDEDED"/> 

+0

alt navigasyon içeren XML kod sonrası. –

+0

check [this] (https://code.google.com/p/android/issues/detail?id=226182&sort=-id%20-stars%20-status&colspec=ID%20Status%20Priority%20Owner%20Summary%20Stars % 20Reporter% 20Opened) ve [this] (http://stackoverflow.com/questions/40316411/bottomnavigationview-shadow-and-ripple-effect) –

+0

Bu yaklaşımı deneyin: http://stackoverflow.com/questions/41650778/android -Dip-navigasyon-bar-ile-drop-gölge/41651284 # 41651284 –

cevap

21

Yani, şimdi (25.1.0) biz gölge olması @android:color/white için BNV arasında android:background ayarlamak zorunda için. Diğer bir renge (yani birincil renginize)

+0

bir çekicilik gibi çalışamaz! Teşekkürler! – Sjd

+2

onaylama çözümü. önemli (ve tuhaf) kısım ** 'beyaz' renkli olmalıdır ('android' res ya da' custom '- ama beyaz olması gerekiyorsa çok özel değil). siyah ve diğerleriyle çalışma ... – snachmsm

+0

Bu durumda, eğer 'app: elevation' kullanılacaksa, navigasyon görünümünün altına biraz gölge ekler. Gölgeyi navigasyonun üstüne eklemek istersem, ne yapmalıyım? @ NamNguyễn –

0

ayarlanmışsanız, aynı sorunla karşılaştım ve OP önerisinin benim durumumda kabul edilmemesi nedeniyle @android:color/white'a sahip olmam. Bu yüzden, yükseklik ve gölgeli bir gölge elde edemediğimizden, onu kesmek zorundayız.

Benim yaklaşımım, çerçeve mizanpajının içine "mimik" yükseltmek için bir gölge görünümü eklemektir. Bu kimse yardımcı

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android"> 
    <gradient 
     android:angle="90" 
     android:endColor="@android:color/transparent" 
     android:startColor="#8f000000" /> 
</shape> 

Hope: gölge görünümünün arka plan sadece alt nav görünümünün üst diğer tüm üzerinde konumlandırılmış bir şekil gradyan başka bir şey, gibi bir şey

<RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

<android.support.design.widget.BottomNavigationView 
    android:id="@+id/bottom_navigation" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:elevation="8dp" 
    app:elevation="8dp" 
    app:itemBackground="@color/colorPrimary" 
    app:itemIconTint="@drawable/bottom_nav_color_state" 
    app:itemTextColor="@drawable/bottom_nav_color_state" 
    app:menu="@menu/bottom_navigation_main"/> 

<FrameLayout 
    android:id="@+id/contentFrame" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_above="@id/bottom_navigation" 
    android:background="#EDEDED"/> 

    <some.kind.of.pager.or.other.content.ViewPager 
     android:id="@+id/viewpager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"/> 

    <View 
     android:id="@+id/shadow_view" 
     android:layout_width="match_parent" 
     android:layout_height="4dp" 
     android:layout_gravity="bottom" 
     android:background="@drawable/shadow_gradient" /> 

</FrameLayout> 

.

0

Bu işler! Kullandığınız Dip Bar rengini değiştirebilir dikkat edin:

"app:itemBackground="@color/white" 

ancak eklemek zorunda:

android:background="@android:color/white" 

Komple:

<android.support.design.widget.BottomNavigationView 
    android:id="@+id/navigation" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:background="@android:color/white" 
    app:elevation="4dp" 
    app:itemBackground="@color/white" 
    app:itemIconTint="@color/grey" 
    app:itemTextColor="@color/grey" 
    app:menu="@menu/my_navigation_items" /> 
İlgili konular