Skip to content

Most visited

Recently visited

navigation

BottomNavigationView

public class BottomNavigationView
extends FrameLayout

java.lang.Object
   ↳ android.view.View
     ↳ android.view.ViewGroup
       ↳ android.widget.FrameLayout
         ↳ android.support.design.widget.BottomNavigationView


Represents a standard bottom navigation bar for application. It is an implementation of material design bottom navigation.

Bottom navigation bars make it easy for users to explore and switch between top-level views in a single tap. It should be used when application has three to five top-level destinations.

The bar contents can be populated by specifying a menu resource file. Each menu item title, icon and enabled state will be used for displaying bottom navigation bar items. Menu items can also be used for programmatically selecting which destination is currently active. It can be done using MenuItem#setChecked(true)

 layout resource file:
 <android.support.design.widget.BottomNavigationView
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:id="@+id/navigation"
     android:layout_width="match_parent"
     android:layout_height="56dp"
     android:layout_gravity="start"
     app:menu="@menu/my_navigation_items" />

 res/menu/my_navigation_items.xml:
 <menu xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:id="@+id/action_search"
          android:title="@string/menu_search"
          android:icon="@drawable/ic_search" />
     <item android:id="@+id/action_settings"
          android:title="@string/menu_settings"
          android:icon="@drawable/ic_add" />
     <item android:id="@+id/action_navigation"
          android:title="@string/menu_navigation"
          android:icon="@drawable/ic_action_navigation_menu" />
 </menu>
 

Summary

Nested classes

interface BottomNavigationView.OnNavigationItemSelectedListener

Listener for handling events on bottom navigation items. 

XML attributes

android.support.design:itemBackground  
android.support.design:itemIconTint  
android.support.design:itemTextColor  

Inherited XML attributes

From class android.widget.FrameLayout
From class android.view.ViewGroup
From class android.view.View

Inherited constants

From class android.view.ViewGroup
From class android.view.View

Inherited fields

From class android.view.View

Public constructors

BottomNavigationView(Context context)
BottomNavigationView(Context context, AttributeSet attrs)
BottomNavigationView(Context context, AttributeSet attrs, int defStyleAttr)

Public methods

int getItemBackgroundResource()

Returns the background resource of the menu items.

ColorStateList getItemIconTintList()

Returns the tint which is applied to our menu items' icons.

ColorStateList getItemTextColor()

Returns colors used for the different states (normal, selected, focused, etc.) of the menu item text.

int getMaxItemCount()
Menu getMenu()

Returns the Menu instance associated with this bottom navigation bar.

void inflateMenu(int resId)

Inflate a menu resource into this navigation view.

void setItemBackgroundResource(int resId)

Set the background of our menu items to the given resource.

void setItemIconTintList(ColorStateList tint)

Set the tint which is applied to our menu items' icons.

void setItemTextColor(ColorStateList textColor)

Set the colors to use for the different states (normal, selected, focused, etc.) of the menu item text.

void setOnNavigationItemSelectedListener(BottomNavigationView.OnNavigationItemSelectedListener listener)

Set a listener that will be notified when a bottom navigation item is selected.

Inherited methods

From class android.widget.FrameLayout
From class android.view.ViewGroup
From class android.view.View
From class java.lang.Object
From interface android.view.ViewParent
From interface android.view.ViewManager
From interface android.graphics.drawable.Drawable.Callback
From interface android.view.KeyEvent.Callback
From interface android.view.accessibility.AccessibilityEventSource

XML attributes

android.support.design:itemBackground

Related methods:

android.support.design:itemIconTint

Related methods:

android.support.design:itemTextColor

Related methods:

Public constructors

BottomNavigationView

BottomNavigationView (Context context)

Parameters
context Context

BottomNavigationView

BottomNavigationView (Context context, 
                AttributeSet attrs)

Parameters
context Context
attrs AttributeSet

BottomNavigationView

BottomNavigationView (Context context, 
                AttributeSet attrs, 
                int defStyleAttr)

Parameters
context Context
attrs AttributeSet
defStyleAttr int

Public methods

getItemBackgroundResource

int getItemBackgroundResource ()

Returns the background resource of the menu items.

Related XML Attributes:

Returns
int

See also:

getItemIconTintList

ColorStateList getItemIconTintList ()

Returns the tint which is applied to our menu items' icons.

Related XML Attributes:

Returns
ColorStateList

See also:

getItemTextColor

ColorStateList getItemTextColor ()

Returns colors used for the different states (normal, selected, focused, etc.) of the menu item text.

Related XML Attributes:

Returns
ColorStateList the ColorStateList of colors used for the different states of the menu items text.

See also:

getMaxItemCount

int getMaxItemCount ()

Returns
int The maximum number of items that can be shown in BottomNavigationView.

getMenu

Menu getMenu ()

Returns the Menu instance associated with this bottom navigation bar.

Returns
Menu

inflateMenu

void inflateMenu (int resId)

Inflate a menu resource into this navigation view.

Existing items in the menu will not be modified or removed.

Parameters
resId int: ID of a menu resource to inflate

setItemBackgroundResource

void setItemBackgroundResource (int resId)

Set the background of our menu items to the given resource.

Related XML Attributes:

Parameters
resId int: The identifier of the resource.

setItemIconTintList

void setItemIconTintList (ColorStateList tint)

Set the tint which is applied to our menu items' icons.

Related XML Attributes:

Parameters
tint ColorStateList: the tint to apply.

setItemTextColor

void setItemTextColor (ColorStateList textColor)

Set the colors to use for the different states (normal, selected, focused, etc.) of the menu item text.

Related XML Attributes:

Parameters
textColor ColorStateList

See also:

setOnNavigationItemSelectedListener

void setOnNavigationItemSelectedListener (BottomNavigationView.OnNavigationItemSelectedListener listener)

Set a listener that will be notified when a bottom navigation item is selected.

Parameters
listener BottomNavigationView.OnNavigationItemSelectedListener: The listener to notify
This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.