【发布时间】:2019-08-05 08:35:45
【问题描述】:
我试图在底部导航视图中添加超过 5 个项目,但它会导致膨胀错误。
【问题讨论】:
-
请分享您迄今为止完成的代码
-
对于超过 5 个项目,BottomNavigation 不是一个好的选择,您应该选择 Tabs with pager
标签: android bottomnavigationview
我试图在底部导航视图中添加超过 5 个项目,但它会导致膨胀错误。
【问题讨论】:
标签: android bottomnavigationview
根据 Google 的 Material Design 规范,BottomNavigationView 不支持超过 5 个项目。您可以为 BottomNavigationView 使用另一个库,因为您无法使用 Google 的库来实现这一点。
创建一个最多包含 5 个导航目标的菜单资源(BottomNavigationView 不支持超过 5 个项目)。
https://material.io/develop/android/components/bottom-navigation-view/
其次,就用户体验而言,BottomNavigation 中有 5 个或更多项目是一个糟糕的设计。即使是4也是一个延伸。如果您需要超过 5 个项目,BottomNavigation 不适合您。
【讨论】:
Having 5 or more items in BottomNavigation is a bad design in terms of User Experience. Even 4 is a stretch. — 这个答案似乎非常教条,没有提供启发式、证据或证明。有什么不好的,例如this AirBnB screen?
根据 Material Design Specification,为BottomNavigationView 使用超过 5 个menu 项目是一种不好的做法。由于它用于显示仅显示 3 到 5 个顶级目的地(与同一主题无关但同等重要),因此建议您改用 Navigation Drawer。另外,我只建议您使用Tab Layout with ViewPager,如果目的地连接到一个共同的主题。
为了进一步说明,我们假设有一个Pill Reminder 应用程序。相关目的地可以是Pending、Completed 和/或Missed,它们以某种方式相关,即它们都显示所有Reminder 在某个时间点的状态。为了显示这些信息,我会使用ViewPager with TabLayout。
对于其他顶级目的地,例如Settings、Nearby Pharmacies等,我会使用NavigationDrawer。
【讨论】:
如果你想要,那么你可以采用水平线性布局,采用水平滚动,然后尽可能多地采用 textview 或按钮。
【讨论】: