Android底部导航栏标签组件示例

底部导航栏的菜单标签,用起来就像安卓里常见的 TabHost,但其实更灵活,样式也更现代。早期用TabHostTabWidget搭配FrameLayout,现在嘛,基本没人用了,太老套了,限制也多。

BottomNavigationView的底部导航就蛮不错,支持 Material Design,图标+文字,响应也快,开发也简单。如果你追求点定制感,用LinearLayout手撸一个也不难,加点ImageViewTextView,再绑上点击事件,效果立马有了。

FragmentTabHost也可以用,用 Fragment 替代旧结构,每个标签搞一个 Fragment,页面切换更自由。你要是 Jetpack 用得多,那BottomNavigationView搭配 Navigation 组件,连导航跳转都帮你省了。

有一点要注意,状态管理别偷懒,不然用户切个页面数据就没了,体验会差。可以配合ViewModelsavedInstanceState做点缓存,再靠谱点用Room存本地也行。

适配多设备的话,推荐试试ConstraintLayout或者FlexboxLayout,比写死宽度要靠谱多了。动画?加点点击缩放或者平滑切换,用户体验立马上一个台阶。

还有个点容易被忘,无障碍支持。图标加上contentDescription,触摸区域放大点,盲人用户也能用得顺手。

想看点实际例子?你可以看看这些:

如果你项目里有多个主要模块需要切换,还是推荐你上个自定义底部导航,样式、交互都能随心来,维护起来也舒服。

7z 文件大小:119.84KB