Pri*_*all 9 android menuitem inflate-exception bottomnavigationview
底部导航视图已添加到设计支持库的第25版中.尝试过,现在使用起来要容易得多.
但我正面临按照我的应用程序要求实现它的问题.我想动态地扩展菜单资源并以编程方式更改底部导航视图的菜单项/标题.
inflateMenu(int menuResource) - 使用菜单资源标识符为底部导航视图扩充菜单.
根据文件:
inflateMenu:void inflateMenu(int resId)将菜单资源膨胀到此导航视图中. 菜单中的现有项目不会被修改或删除. 参数resId int:要膨胀的菜单资源的ID
尝试以编程方式使用此inflateMenu(int resID)方法导航视图抛出异常" 未找到资源 "
bottomNavigationView.inflateMenu(R.menu.bottom_navigation_menu);
Run Code Online (Sandbox Code Playgroud)
是否有可能在没有任何第三方库的情况下实现它?
<?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>
Run Code Online (Sandbox Code Playgroud)
菜单资源:
<?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>
Run Code Online (Sandbox Code Playgroud)
在menuresource中以编程方式为"活动中的底部导航"视图进行充气:
navBar = (BottomNavigationView) findViewById(R.id.bottom_navigation);
navBar.inflateMenu(R.menu.bottom_navigation_view);
Run Code Online (Sandbox Code Playgroud)
tab*_*ena 30
navigationView.getMenu().clear(); //clear old inflated items.
navigationView.inflateMenu(R.menu.new_navigation_drawer_items);
Run Code Online (Sandbox Code Playgroud)
从这个答案
小智 15
BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);
//Add MenuItem with icon to Menu
navigation.getMenu().add(Menu.NONE, 1, Menu.NONE, "Home").setIcon(R.drawable.ic_home_black_24dp);
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
10129 次 |
| 最近记录: |