Bottom Navigation View highlight selected item
Solution 1
Add a selector.xml
in drawable
folder for example my xml
is
navbar_color.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_checked="true"
android:color="highlight color" />
<item android:color="normal color" />
</selector>
Then add following in lines BottomNavigationView
app:itemIconTint="@drawable/selector"
app:itemTextColor="@drawable/selector"
Solution 2
I was not returning true from OnNavigationItemSelectedListener thats why I was facing the issue. After returning true from OnNavigationItemSelectedListener the issue got resolved. Thanks user2650128 for pointing in that direction.
user2622786
Updated on July 28, 2022Comments
-
user2622786 almost 2 years
I have added Bottom Navigation View to my activity XMl. I am unable to set the default checked item from the menu items. It always sets the first menu item as default. Also when I tap on other menu items the selected menu item is not hightlighted. If I programmatically set the item.setChecked(true) then the menu option gets highlighted but the first menu item is also highlighted. I am using
compile 'com.android.support:design:25.0.1'
Here is the bottom Navigation view
<android.support.design.widget.BottomNavigationView android:id="@+id/bottom_navigation" android:layout_width="wrap_content" android:layout_height="wrap_content" app:itemBackground="@color/white" app:itemTextColor="@color/black" app:menu="@menu/navigation_menu"> </android.support.design.widget.BottomNavigationView>
Here is the menu
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/action_wallet" android:enabled="true" android:icon="@drawable/ic_account_balance_wallet_black_24dp" android:title="wallet" app:showAsAction="ifRoom" /> <item android:id="@+id/action_card" android:enabled="true" android:title="allowance" android:icon="@drawable/ic_credit_card_black_24dp" app:showAsAction="ifRoom" /> <item android:id="@+id/action_transaction" android:enabled="true" android:icon="@drawable/ic_description_black_24dp" android:title="transaction" app:showAsAction="ifRoom" /> </menu>
Has anyone encountered this situation? Any Suggestions on how to handle this?
Thanks, Priya
-
Xi Wei over 7 yearsWeird, returning true did not fix it for me. In fact, item.setChecked(true) makes the item always selected, even when I tab another tab.
-
Eurospoofer almost 5 yearsNice clean solution. As a side note, I also had to set the checked status in the #onNavigationItemSelected with menuItem.setChecked(true) for this to work.
-
Bhavesh Vadalia over 4 yearsBottomNavigationView not suppoert app:itemIconTint="@drawable/selector" means. @drawable not found