2016-11-18 43 views
4

我已添加底部导航查看我的活动XMl。我无法从菜单项中设置默认选中的项目。它始终将第一个菜单项设置为默认值。另外,当我点击其他菜单项目时,选定的菜单项目不会突出显示。如果我以编程方式设置item.setChecked(true),那么菜单选项会突出显示,但第一个菜单项也会突出显示。我使用底部导航查看突出显示的选定项目

compile 'com.android.support:design:25.0.1' 

这里是底部的导航视图

<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> 

这里是

<?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> 

Bottom Navigation View 有没有人遇到过这种情况的菜单吗?有关如何处理此问题的任何建议?

感谢, 普里亚

+3

你有没有尝试添加机器人:在每个菜单可检查=“真”项目?你在OnNavigationItemSelectedListener中返回true吗? – user2650128

+0

在OnNavigationItemSelectedListener上返回true解决了该问题。谢谢:) – user2622786

回答

5

我不是从OnNavigationItemSelectedListener返回true这就是为什么我面临的问题。从OnNavigationItemSelectedListener返回true后,问题得到解决。感谢user2650128指向这个方向。

+1

奇怪的是,返回true并没有解决它对我来说。事实上,item.setChecked(true)使得该项目始终处于选中状态,即使我选中了另一个选项卡。 –

5

在绘制文件夹中添加一个选择XML例如我的XML是

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> 

然后添加下面的行BottomNavigationView

app:itemIconTint="@drawable/navbar_colors" 
    app:itemTextColor="@drawable/navbar_colors"