BottomNavigationView

山有木xi發表於2020-10-29

BottomNavigationView其實是android中很常見的一種元件,主要實現的就是底部導航欄,而它也是來自 Material Design 提供的 View,Material Design是Google 出了一個 design lib,目的是讓android開發者能夠開發出更美觀,效果更棒的元件

BottomNavigationView如果單獨使用,其實沒有什麼意義,也看不到什麼效果,而最基礎,也是最經常的用法就是配合ViewPage和Fragment,實現類似微信的切換效果

BottomNavigationView在使用時,除了普通空間的屬性外,還需要注意如下幾個特有屬性:

  • app:itemBackground:指定底部導航欄的背景顏色,預設是當前主題的背景色,白色or黑色;

  • app:itemIconTint:指定底部導航欄元素圖示的著色方式,預設元素選中時icon顏色為@color/colorPrimary;
    app:itemTextColor:指定底部導航欄元素文字的著色方式;

  • app:menu:使用Menu的形式為底部導航欄指定元素;

大致程式碼如下:

<android.support.design.widget.BottomNavigationView
        android:id="@+id/bnv"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:background="@color/global_bg"
        app:elevation="0dp"
        app:itemIconTint="@color/selector_bottom_text_color"
        app:itemTextColor="@color/selector_bottom_text_color"
        app:menu="@menu/tab_menu" />
<androidx.viewpager.widget.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_above="@id/bnv" />

其中

 app:menu="@menu/tab_menu"

就是制定導航欄的資訊的另外一個單獨的頁面,這裡就要說到BottomNavigationView是使用單獨的menu作為資訊的

<menu xmlns:android="
    <item
        android:id="@+id/weather"
        android:icon="@drawable/ic_weather"
        android:title="first"/>
    <item
        android:id="@+id/news"
        android:icon="@drawable/ic_news"
        android:title="second"/>
    <item
        android:id="@+id/more"
        android:icon="@drawable/ic_more"
        android:title="third"/>
</menu>


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69917874/viewspace-2730958/,如需轉載,請註明出處,否則將追究法律責任。