Android底部导航栏标签组件示例
底部导航栏的菜单标签,用起来就像安卓里常见的 TabHost,但其实更灵活,样式也更现代。早期用TabHost
加TabWidget
搭配FrameLayout
,现在嘛,基本没人用了,太老套了,限制也多。
BottomNavigationView的底部导航就蛮不错,支持 Material Design,图标+文字,响应也快,开发也简单。如果你追求点定制感,用LinearLayout
手撸一个也不难,加点ImageView
和TextView
,再绑上点击事件,效果立马有了。
FragmentTabHost也可以用,用 Fragment 替代旧结构,每个标签搞一个 Fragment,页面切换更自由。你要是 Jetpack 用得多,那BottomNavigationView
搭配 Navigation 组件,连导航跳转都帮你省了。
有一点要注意,状态管理别偷懒,不然用户切个页面数据就没了,体验会差。可以配合ViewModel
和savedInstanceState
做点缓存,再靠谱点用Room
存本地也行。
适配多设备的话,推荐试试ConstraintLayout
或者FlexboxLayout
,比写死宽度要靠谱多了。动画?加点点击缩放或者平滑切换,用户体验立马上一个台阶。
还有个点容易被忘,无障碍支持。图标加上contentDescription
,触摸区域放大点,盲人用户也能用得顺手。
想看点实际例子?你可以看看这些:
如果你项目里有多个主要模块需要切换,还是推荐你上个自定义底部导航,样式、交互都能随心来,维护起来也舒服。
119.84KB
文件大小:
评论区