我正在构建一个Android应用程序,虽然它具有完全不同的功能,但它具有与Instagram非常相似的UI。有一个带有按钮的底栏,用于查看时间线,发布(我的应用程序的内容),检查通知以及查看您自己的个人资料。
我是四年级电气工程专业的学生,但我对Android开发相对较新。为了更快地教自己更多的东西,我继续使用他们自己的底栏(它们只是按钮作为我的应用程序(如查看帖子,个人资料,时间轴,朋友等)他们自己的活动的很多功能。现在)。在这样做的过程中,我学到了很多关于开发的知识,并构建了一个应用程序,就我迄今为止所构建的应用程序而言,它可以按照预期运行,但不是太快或太漂亮。我意识到这可能不是最佳实践,我想问你所有你认为如何实现类似Instagram的UI的简单解释?当我说Instagram时我主要是指:它包括一个底栏;应用程序“保留”用户所在的位置,就像我正在从时间线查看朋友,然后按视图配置文件按钮,再按时间线,然后我仍然会查看我的朋友。
我试图尽可能多地阅读以解决重新设计问题,但我仍然对做这样的事情的标准有点模糊。我应该尝试TabHost(已弃用)?每个按钮应该代表一个具有可交换视图的活动(例如在IG中我点击我的时间轴上的帖子并且它交换到图片后视图)?我应该将活动与每个按钮相关联,并根据用户导航的位置交换片段吗?我意识到这是一个开放式问题,我希望它对Stack Overflow来说不是太模糊,但我已经考虑过很多,我很感激一些更有经验的开发人员的反馈!谢谢!
答案 0 :(得分:4)
您可以使用支持设计库中包含的新TabLayout以及视图寻呼机来切换不同的片段。
编辑:在评论中我提到了一个类比,你可以考虑如何使用片段与活动。为了不传播错误的信息,我会回到我所说的一点点。您绝对可以使用单独的活动,并使用选项卡在它们之间切换。所以,正确答案在中间的某个地方。 MainActivity仍然会保持tablayout并管理选项卡侦听器并在选项卡之间切换,但您可以设置tablayout的内容以保持内容为新活动。但你也可以用碎片来做,也可能更有效率。
这实际上取决于应用的结构以及它的深度。如果您只有4个片段且信息以一个工作流为中心,那么您可以选择仅使用一个包含四个片段的活动。这取决于开发人员如何管理它。
由于片段已经出现,如果你正在使用的空间可以改变用途,也就是说,如果你在同一个盒子(例如instagram应用程序的标签栏上方的区域)工作,那么就有一种理念,使用片段。 (参考here)。相机选项卡是使用活动的一个很好的示例。相机功能表示与导航instagram应用程序的源,图片和配置文件时看到的完全不同的工作流程。所以feed可能是一个片段,而用户配置了另一个片段,但它们都是由同一个活动管理并使用相同的内容框架。
上面提供的参考文献中还有其他答案,可以帮助您进一步理解。