我正在尝试根据从 API 获得的 var 在底部菜单导航栏中添加一个项目。
我可以从此导航栏中删除一个项目,如下所示:
if (restaurant.acceptsBookings == false) {
bottom_navigation_view.menu.removeItem(R.id.bottom_menu_book)
}
问题是,当我启动我的应用程序时,我们可以在半秒内看到图标,然后它就消失了。
这还不错,但我希望有更好更整洁的方法来做到这一点;例如,通过在空导航栏中添加元素,而不是删除它们。
这是我的导航栏 xml 代码:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/bottom_menu_home"
android:enabled="true"
android:title="@string/bottom_menu_home"
android:icon="@drawable/ic_home"
app:showAsAction="ifRoom" />
<item
android:id="@+id/bottom_menu_menu"
android:enabled="true"
android:icon="@drawable/ic_menu"
android:title="@string/bottom_menu_menu"
app:showAsAction="ifRoom" />
<item
android:id="@+id/bottom_menu_profile"
android:enabled="true"
android:title="@string/bottom_menu_profile"
android:icon="@drawable/ic_user"
app:showAsAction="ifRoom" />
<item
android:id="@+id/bottom_menu_book"
android:enabled="true"
android:icon="@android:drawable/ic_menu_my_calendar"
android:title="@string/bottom_menu_bookings"
app:showAsAction="ifRoom" />
<item
android:id="@+id/bottom_menu_fidelity"
android:enabled="true"
android:icon="@drawable/giftgrey2"
android:title="@string/bottom_menu_fidelity"
app:showAsAction="ifRoom" />
</menu>
有人对此有解决方案吗?
提前致谢。