mac*_*rix 5 android fragment android-fragments android-activity bottomnavigationview
我来自 iOS,致力于将 iOS 应用程序移植到 Android 上。在 iOS 中,有一个故事板,您可以在其中连接不同的视图(活动)并将它们嵌入到选项卡栏和导航栏中。我有一个问题要了解在 android 中实现底部导航的最佳方法是什么......
假设我有 3 个底部导航项,其中包含以下内容
选项卡1
选项卡2
选项卡3
作为 tab1 中的示例,我有 page1.1。然后假设我在 page1.1 中有一个按钮,可以将我带到 page1.2。如果我从 page1.2 返回,我想返回 page1.1。page2.1 的情况相同,我可以转到 page2.2,从 page2.2 我可以转到 page2.3。我也想从第3.2页转到第1.2页
我读过片段是最好的方法(每个 page.x 都是成为具有不同布局的不同片段),但它似乎不是很容易。我还读过我可以使用活动,但许多人建议不要使用它
你建议我重点关注什么?除了片段和活动之外,还有其他解决方案需要考虑吗?谢谢
您应该将片段与单个活动一起使用。如果不这样做,您将必须在多个活动中复制/包含一个底部栏。在某些情况下它可能很有用,但是当切换 Activity 时,您的栏将重新绘制,这可能会导致糟糕的用户体验。
我读过片段是最好的方法(每个 page.x 都是成为具有不同布局的不同片段),但它似乎并不容易
使用片段实际上可能比使用活动更容易。如果您使用片段,则可以让一个 Activity 控制正在显示的每个片段,这意味着您可以根据正在显示的片段来控制导航。这样,您可以处理一些不属于通常导航行为的特殊场景。在“活动”中执行相同的操作会稍微困难一些,因为您必须不断地在意图中传递数据,并且由于您的逻辑将分布在“活动”中,因此很难控制行为。
你建议我重点关注什么?除了片段和活动之外,还有其他解决方案需要考虑吗?
这两个只是推荐的解决方案。如果您的某些 UI 元素在所有页面中都是相同的,而其中某些部分不断变化,那么最好将 Fragments 与单个 Activity 一起使用。对于完全不同或不属于导航流程一部分的屏幕,您可以为它们添加更多活动而不是片段。
例如,您可以在带有底部导航栏的一个活动中使用片段,但对于设置屏幕或个人资料屏幕,您应该制作单独的活动。