Die untere Navigationsansicht wurde der Version 25 der Design Support Library hinzugefügt. Versucht und es ist jetzt viel einfacher zu benutzen.Aufpumpen von unten Navigation Menü Ansicht programmgesteuert
Aber ich habe Probleme mit der Umsetzung es nach meinen App-Anforderungen. Ich möchte Menü-Ressource dynamisch aufblasen und Menüelemente/Titel der Bottom Navigation-Ansicht programmgesteuert ändern.
inflatemenMenu (int menuResource) - Füllen Sie ein Menü für die untere Navigationsansicht mit einer Menüressourcen-ID auf.
Nach docs:
inflateMenu: void inflateMenu (int RESID) aufpumpen eine Menüressource in diese Navigationsansicht. Vorhandene Elemente im Menü werden nicht geändert oder entfernt. Parameter Resid int: ID eines Menüressource aufzublasen
versucht, dieses inflateMenu (int ResID) Methode mit Navigationsansicht programmatisch zu verwenden, wirft Ausnahme "Ressource nicht gefunden"
bottomNavigationView.inflateMenu(R.menu.bottom_navigation_menu);
Ist es möglich, es ohne Bibliotheken von Drittanbietern zu erreichen?
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<FrameLayout
android:id="@+id/main_fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/bottom_navigation" />
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
app:itemBackground="@color/theme_action_bar_bg"
app:itemIconTint="@color/white"
app:itemTextColor="@color/white" />
</RelativeLayout>
Menü Ressource:
<?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/nav_bar_item_dashboard"
android:enabled="true"
android:icon="@drawable/ic_nav_bar_dashboard_24px"
android:title="@string/nav_bar_item_dashboard"
app:showAsAction="ifRoom" />
<item
android:id="@+id/nav_bar_item_people"
android:enabled="true"
android:icon="@drawable/ic_nav_bar_people_24px"
android:title="@string/nav_bar_item_people"
app:showAsAction="ifRoom" />
<item
android:id="@+id/nav_bar_item_classroom"
android:enabled="true"
android:icon="@drawable/ic_nav_bar_classroom_24px"
android:title="@string/nav_bar_item_classrooms"
app:showAsAction="ifRoom" />
<item
android:id="@+id/nav_bar_item_manage"
android:enabled="true"
android:icon="@drawable/ic_nav_bar_manage_24px"
android:title="@string/nav_bar_item_manage"
app:showAsAction="ifRoom" />
<item
android:id="@+id/nav_bar_item_more"
android:enabled="true"
android:icon="@drawable/ic_nav_bar_more_24px"
android:title="@string/nav_bar_item_more"
app:showAsAction="ifRoom" />
</menu>
Inflating Programmatically in menuresource für Bottom Navigation Blick ins Innere Aktivität:
Post Ihren Code und Layout –