我的申请基本上有一项主要活动。在其中有三个选项卡,每个选项卡都有一个片段。类似于whatsapp布局的东西。
为了向应用程序添加更多功能,我看到NavigationDrawer将是一个不错的选择。但是由于我的应用程序运行带有子片段的主要活动,我想知道当用户点击任何项目NavigationDrawer时,加载活动而不是片段是不好的做法。
或者最好的meneira会将我的MainActivity转换为片段吗?这会给我一个很棒的工作..
我想建议=)
答案 0 :(得分:3)
您可以使用NavigationDrawer
打开新活动。基本上只是让每个活动都具有相同的抽屉,用户体验将与替换Fragments
时的用户体验相同。
但是,我会劝阻这一点。我一直在使用Fragments
和Activities
混合NavigationDrawer
的应用,结果有问题,特别是在回溯和保存状态时。它确实有效,但需要hackfixing和一些不合逻辑的代码。
NavigationDrawer
的最佳做法是拥有一个"容器"只需在Fragments
中交换FrameLayout
即可完成的活动。剩下的逻辑将出现在碎片中。通过这种方式,应用程序可以轻松扩展,并且平台可以处理后台堆栈。
答案 1 :(得分:0)
我更喜欢Fragments
,但打开新的Activities
没有问题。 Instagram做了类似的事情。它有标签(我知道您要使用NavigationDrawer
,但这只是一个示例),这些标签上的标签打开一个新的Activity
,使用X按钮关闭{{1} }。
Instagram主要活动:
关闭按钮的新活动:
答案 2 :(得分:0)
Series Guide Android应用程序完全相同。它从导航抽屉打开活动。此类活动延长了BaseNavDrawerActivity。活动的开始和退出动画是自定义的,以使过渡看起来更顺畅。
我会推荐这种方法,因为管理活动的后台比片段更容易。
答案 3 :(得分:0)
也开心地开展活动。确保将后退按钮放在已打开的活动上,以便用户清楚地知道哪个屏幕是主屏幕。
但等等..
如果您担心自己是否遵循标准(行业),请阅读以下内容: 如果您的所有活动对用户具有同等重要性(包括标签式),那么推荐的方式是使用片段,如果您不希望人们被导航抽屉图标或标签分散注意力,那么最好是打开一个新的活动,只需一个顶部的后退按钮..
我希望它会让你知道如何继续......