13

大家好,我已经实施了design library BottomNavigationView。它工作得很好,但我不知道为什么我的菜单图标没有与文本一起显示,我也希望它通过向下滚动来隐藏,例如Floating Action Button. 但我没有找到任何方法来做到这一点。我阅读了开发人员文档,但我没有找到任何解决我的问题的方法。

这是我的输出- 项目仅显示未启用的文本

预期输出- 每个项目都应该带有图像和文本

这是我的xml代码

<android.support.design.widget.BottomNavigationView
                android:id="@+id/bottom_navigation"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:itemBackground="@android:color/white"
                app:itemIconTint="@drawable/nav_color_state_list"
                app:itemTextColor="@drawable/nav_color_state_list"
                android:layout_alignParentBottom="true"
                app:menu="@menu/bottom_navigation_menu" />

nav_color_state_list.xml 可绘制代码

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="@color/colorAccent" android:state_checked="true" />
    <item android:color="@color/textColorSecondary" android:state_checked="false" />
</selector>

bottom_navigation_menu.xml

<?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/menu_home"
        android:title="Home"
        android:icon="@drawable/home_black_36dp"
        app:showAsAction="ifRoom|withText"/>
    <item
        android:id="@+id/menu_notification"
        android:title="Notifications"
        android:icon="@drawable/add_alert_black_36dp"
        app:showAsAction="ifRoom|withText"/>
    <item
        android:id="@+id/menu_call"
        android:title="Call"
        android:icon="@drawable/comment_black_36dp"
        app:showAsAction="ifRoom|withText"/>

    <item
        android:id="@+id/menu_more"
        android:title="More"
        android:icon="@drawable/more_horiz_black_36dp"
        app:showAsAction="ifRoom|withText"/>>
   </menu>
4

1 回答 1

10

我使用这个库,它是一个很好的扩展!

https://github.com/ittianyu/BottomNavigationViewEx

BottomNavigationViewEx bnve = (BottomNavigationViewEx) findViewById(R.id.bnve);

bnve.enableAnimation(false);

bnve.enableShiftingMode(false);

bnve.enableItemShiftingMode(false);

bnve.setIconSize(widthDp, heightDp);

bnve.setTextSize(sp);

于 2017-05-13T06:22:45.917 回答