在 android 中使用底部导航的最佳实践:activity 与片段
Best practise to use bottom navigation in android: activity vs fragment
我来自 iOS,正在努力在 android 上移植一个 iOS 应用程序。在 iOS 中有故事板,您可以在其中连接不同的视图(活动)并将它们嵌入到选项卡栏和导航栏中。我无法理解在 android...
中实现底部导航的最佳方式是什么
假设我有 3 个底部导航项,其中
tab1
- page1.1
- page1.2
tab2
- page2.1
- page2.2
- page2.3
tab3
- page3.1
- page3.2
- page3.3
作为 tab1 中的示例,我有 page1.1。然后假设我在 page1.1 中有一个按钮,它将我带到 page1.2。如果我从 page1.2 返回,我想返回到 page1.1。 page2.1 的情况相同,我可以转到 page2.2,从 page2.2 可以转到 page2.3。我也想从 page3.2 转到 page 1.2
我读过片段是最好的方法(每个 page.x 是成为一个具有不同布局的不同片段)但它似乎并不容易。我也读过我可以使用活动,但很多人建议不要使用它
你建议我关注什么?除了片段和活动之外,还有其他解决方案需要考虑吗?谢谢
您应该将 Fragments 与 Single Activity 一起使用。如果不这样做,您将不得不在多个活动中 copy/include 一个底栏。它在某些情况下可能很有用,但是当切换 Activity 时,您的栏将重新绘制,这可能会导致糟糕的用户体验。
I have read fragments are the best way to do it (each page.x is to become a different fragment with a different layout) but it does not seem very easy
使用 Fragments 实际上可能比使用 Activity 更容易。如果您使用片段,您可以让一个 Activity 控制正在显示的每个片段,这意味着您可以根据显示的片段控制导航。这样,您就可以处理一些不属于通常导航行为的特殊场景。
在 Activity 中做同样的事情会稍微困难一些,因为您必须不断地在 Intents 中传递数据,而且由于您的逻辑将分布在 Activity 中,因此很难控制行为。
What do you recommend that I focus on? Are there any other solution to consider on top of fragment and activities?
这两个只是推荐方案。如果你的某些 UI 元素在所有页面中都是相同的,而其中的某些部分不断变化,那么最好使用单个 Activity 的片段。对于完全不同或不属于您的导航流程的屏幕,您可以为它们添加更多 Activity 而不是 Fragments。
例如,您可以将 Fragments in One Activity 与底部导航栏一起使用,但对于设置屏幕或个人资料屏幕,您应该制作单独的 Activites。
我来自 iOS,正在努力在 android 上移植一个 iOS 应用程序。在 iOS 中有故事板,您可以在其中连接不同的视图(活动)并将它们嵌入到选项卡栏和导航栏中。我无法理解在 android...
中实现底部导航的最佳方式是什么假设我有 3 个底部导航项,其中
tab1
- page1.1
- page1.2
- page1.1
tab2
- page2.1
- page2.2
- page2.3
- page2.2
- page2.1
tab3
- page3.1
- page3.2
- page3.3
- page3.2
- page3.1
作为 tab1 中的示例,我有 page1.1。然后假设我在 page1.1 中有一个按钮,它将我带到 page1.2。如果我从 page1.2 返回,我想返回到 page1.1。 page2.1 的情况相同,我可以转到 page2.2,从 page2.2 可以转到 page2.3。我也想从 page3.2 转到 page 1.2
我读过片段是最好的方法(每个 page.x 是成为一个具有不同布局的不同片段)但它似乎并不容易。我也读过我可以使用活动,但很多人建议不要使用它
你建议我关注什么?除了片段和活动之外,还有其他解决方案需要考虑吗?谢谢
您应该将 Fragments 与 Single Activity 一起使用。如果不这样做,您将不得不在多个活动中 copy/include 一个底栏。它在某些情况下可能很有用,但是当切换 Activity 时,您的栏将重新绘制,这可能会导致糟糕的用户体验。
I have read fragments are the best way to do it (each page.x is to become a different fragment with a different layout) but it does not seem very easy
使用 Fragments 实际上可能比使用 Activity 更容易。如果您使用片段,您可以让一个 Activity 控制正在显示的每个片段,这意味着您可以根据显示的片段控制导航。这样,您就可以处理一些不属于通常导航行为的特殊场景。 在 Activity 中做同样的事情会稍微困难一些,因为您必须不断地在 Intents 中传递数据,而且由于您的逻辑将分布在 Activity 中,因此很难控制行为。
What do you recommend that I focus on? Are there any other solution to consider on top of fragment and activities?
这两个只是推荐方案。如果你的某些 UI 元素在所有页面中都是相同的,而其中的某些部分不断变化,那么最好使用单个 Activity 的片段。对于完全不同或不属于您的导航流程的屏幕,您可以为它们添加更多 Activity 而不是 Fragments。
例如,您可以将 Fragments in One Activity 与底部导航栏一起使用,但对于设置屏幕或个人资料屏幕,您应该制作单独的 Activites。