こんにちはGuys私はdesign library
BottomNavigationView
を実装しました。それは完全に機能しますが、メニューアイコンがテキストで表示されない理由がわかりません。また、Floating Action Button
などのスクロールダウンで非表示にしたいです。しかし、私はそれを行う方法を見つけませんでした。 Developers Docs と読みましたが、問題の解決策が見つかりませんでした。
ここに私の出力があります-有効になっていないテキストのみを表示するアイテム
期待される出力-すべてのアイテムには画像とテキストが必要です
ここに私の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 drawable Code
<?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>
私はこのライブラリを使用しています。これは素晴らしい拡張機能です!
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);