BottomNavigationView 动态添加menu item 修改BottomNavigationView字体图片大小间距

柯瀚玥
2023-12-01

BottomNavigationView不使用menu.xml布局,代码控制动态布局,并修改字体图片大小间距

<com.google.android.material.bottomnavigation.BottomNavigationView
    android:id="@+id/bottomNavigationView"
    android:layout_width="match_parent"
    android:layout_height="@dimen/padding_40"
    android:layout_gravity="center"
    android:layout_marginBottom="@dimen/padding_0.5"
    app:itemBackground="@color/white"
    app:itemIconSize="@dimen/padding_20"
    app:itemIconTint="@drawable/main_bottom"
    app:itemTextColor="@drawable/main_bottom"
     />
bottomNavigationView.setLabelVisibilityMode(LabelVisibilityMode.LABEL_VISIBILITY_LABELED);//1 不开动画 0 动画
        bottomNavigationView.getMenu().add(0,0,0,"经营数据").setShowAsAction(SHOW_AS_ACTION_IF_ROOM);
        bottomNavigationView.getMenu().getItem(0).setIcon(R.drawable.jingyingshuju);

        bottomNavigationView.getMenu().add(0,1,1,"巡店").setShowAsAction(SHOW_AS_ACTION_IF_ROOM);
        bottomNavigationView.getMenu().findItem(1).setIcon(R.drawable.xundian);

        bottomNavigationView.getMenu().add(0,2,2,"云办公").setShowAsAction(SHOW_AS_ACTION_IF_ROOM);
        bottomNavigationView.getMenu().findItem(2).setIcon(R.drawable.yunbangong);
        bottomNavigationView.getMenu().add(0,3,3,"个人中心").setShowAsAction(SHOW_AS_ACTION_IF_ROOM);
        bottomNavigationView.getMenu().getItem(3).setIcon(R.drawable.gerenzhongxin);

如果需要动态删除  只需要removeItem即可。

控制图片字体大小间距  直接在dimens.xml  覆盖即可

<!--修改默认(未选中)的文字大小 -->
    <!--    <dimen name="design_bottom_navigation_text_size" tools:override="true">16sp</dimen>-->
    <!--修改选中的文字大小 -->
    <!--    <dimen name="design_bottom_navigation_active_text_size" tools:override="true">16sp</dimen>-->
<!--    <dimen name="design_bottom_navigation_active_text_size">13sp</dimen>--><!--    //选中时的字体大小-->
<!--    <dimen name="design_bottom_navigation_elevation">8dp</dimen>//阴影的大小-->
<!--    <dimen name="design_bottom_navigation_height">56dp</dimen>//高度-->
    <!--    <dimen name="design_bottom_navigation_active_item_max_width">dp</dimen>//选中时的最大宽度-->
<!--    <dimen name="design_bottom_navigation_item_max_width">96dp</dimen>//未选中的最大宽度-->
<!--    <dimen name="design_bottom_navigation_item_min_width">56dp</dimen>//未选中的最小的宽度-->
<!--    <dimen name="design_bottom_navigation_margin">8dp</dimen>//icon与文本之间的间距-->
<!--    <dimen name="design_bottom_navigation_shadow_height">1dp</dimen>//阴影高度-->
<!--    <dimen name="design_bottom_navigation_text_size">12sp</dimen>//未选中时的字体大小-->

 

 

 

 

 类似资料: