使用NavigationDrawer打开Activities而不是片段是正确的吗?

时间:2016-01-15 13:13:26

标签: android navigation-drawer

我的申请基本上有一项主要活动。在其中有三个选项卡,每个选项卡都有一个片段。类似于whatsapp布局的东西。

为了向应用程序添加更多功能,我看到NavigationDrawer将是一个不错的选择。但是由于我的应用程序运行带有子片段的主要活动,我想知道当用户点击任何项目NavigationDrawer时,加载活动而不是片段是不好的做法。

或者最好的meneira会将我的MainActivity转换为片段吗?这会给我一个很棒的工作..

我想建议=)

4 个答案:

答案 0 :(得分:3)

您可以使用NavigationDrawer打开新活动。基本上只是让每个活动都具有相同的抽屉,用户体验将与替换Fragments时的用户体验相同。

但是,我会劝阻这一点。我一直在使用FragmentsActivities混合NavigationDrawer的应用,结果有问题,特别是在回溯和保存状态时。它确实有效,但需要hackfixing和一些不合逻辑的代码。

NavigationDrawer的最佳做法是拥有一个"容器"只需在Fragments中交换FrameLayout即可完成的活动。剩下的逻辑将出现在碎片中。通过这种方式,应用程序可以轻松扩展,并且平台可以处理后台堆栈。

答案 1 :(得分:0)

我更喜欢Fragments,但打开新的Activities没有问题。 Instagram做了类似的事情。它有标签(我知道您要使用NavigationDrawer,但这只是一个示例),这些标签上的标签打开一个新的Activity,使用X按钮关闭{{1} }。

Instagram主要活动:

enter image description here

关闭按钮的新活动:

enter image description here

答案 2 :(得分:0)

Series Guide Android应用程序完全相同。它从导航抽屉打开活动。此类活动延长了BaseNavDrawerActivity。活动的开始和退出动画是自定义的,以使过渡看起来更顺畅。

我会推荐这种方法,因为管理活动的后台比片段更容易。

答案 3 :(得分:0)

也开心地开展活动。确保将后退按钮放在已打开的活动上,以便用户清楚地知道哪个屏幕是主屏幕。

但等等..

如果您担心自己是否遵循标准(行业),请阅读以下内容: 如果您的所有活动对用户具有同等重要性(包括标签式),那么推荐的方式是使用片段,如果您不希望人们被导航抽屉图标或标签分散注意力,那么最好是打开一个新的活动,只需一个顶部的后退按钮..

我希望它会让你知道如何继续......