代码之家  ›  专栏  ›  技术社区  ›  MIDHUN CEASAR

如何将不同的背景色添加到底部导航选项卡所选项目?

  •  1
  • MIDHUN CEASAR  · 技术社区  · 8 年前

    我需要在底部导航中的当前选定选项卡中添加不同的背景色,如下图所示的灰色(单击蓝色文本查看)。我正在使用默认的导航选项卡活动,没有任何库的帮助。

    bottom navigation active tab highlighted

    second active tab highlighted

    下面是底部导航视图的代码:

    <android.support.design.widget.BottomNavigationView
        android:id="@+id/navigation_Userview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        app:itemBackground="@color/ActivityBackgroundColor"
        app:itemIconTint="@drawable/navigation_item_selector"
        app:itemTextColor="@drawable/navigation_item_selector"
        app:menu="@menu/navigation1"/>
    

    以下是我的导航项目选择器代码:

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    
    <item android:color="@color/Buttoncolor" android:state_checked="true" />
    <item android:color="@color/TextColor" android:state_checked="false" />
    

    1 回复  |  直到 8 年前
        1
  •  4
  •   Radesh    8 年前

    这个图书馆可以帮助你

    NavigationTabBar

    in gradle(应用程序)

    compile 'devlight.io:navigationtabbar:1.2.5'
    

    只需将其添加到xml文件中

     <devlight.io.library.ntb.NavigationTabBar
        android:id="@+id/navigationTabBar"
        android:layout_width="match_parent"
        android:layout_height="@dimen/_50sdp"
        app:ntb_animation_duration="400"
        app:ntb_titled="true"
        app:ntb_scaled="true"
        app:ntb_tinted="true"
        app:ntb_bg_color="@color/colorPrimary"
        app:ntb_active_color="@color/colorAccent"
        app:ntb_inactive_color="@color/colorPrimary"
        app:ntb_title_mode="all"
        app:ntb_swiped="true"
        app:ntb_icon_size_fraction="0.4"
        app:ntb_title_size="@dimen/littleFontSize"/>
    

    更新

    您可以创建选择器名称backgrand\u nav\u项。xml如下所示

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
         <item android:drawable="@color/colorAccent" 
               android:state_checked="true"/>
         <item android:drawable="@color/colorPrimary"
               android:state_checked="false"/>
    </selector>
    

    和您的BottomNavigationView

    <android.support.design.widget.BottomNavigationView
    android:id="@+id/navigation_Userview"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_gravity="bottom"
    app:itemBackground="@drawable/backgrand_nav_item"
    app:itemIconTint="@drawable/navigation_item_selector"
    app:itemTextColor="@drawable/navigation_item_selector"
    app:menu="@menu/navigation1"/>