嵌套碎片的不良做法?

时间:2015-05-23 17:17:06

标签: android design-patterns android-fragments android-activity

我正在创建我的应用。我试图遵循所有谷歌的指导方针。 UI的很大一部分 - Fragment。让UI更流畅,更漂亮是非常棒的事情 当然最好将我的屏幕分成UI的单独逻辑部分,以后可以在另一个活动中重复使用,布局无论如何...... 片段比Activities更轻量级。片段之间的动画更平滑,看起来更好。

一切都很棒。如何在每个应用中使用一个Activity呢? 根据 Eric Burke ,只要你能做到这一点,你就必须使用Fragment。这是讲座 - Android App Anatomy

当然,每个完整应用使用一个Activity可以带来一些好处 但当然有一些缺点。

让我们考虑简单的应用程序,它不是真正的应用程序,而只是例如。

这是三个屏幕。

enter image description here enter image description here enter image description here

它与我的应用程序中的用户界面不完全相同,只是为了让我更容易理解我的问题。

我们可以通过多种方式来构建此类UI。

  1. 每个屏幕都是单一活动,具有自己的布局。
  2. 每个屏幕再次是单个活动,但所有部分都是片段,例如在第一个屏幕上。它将是三个片段:ViewPager,Horizo​​ntal List和Custom View。第二个屏幕只有一个Recycler View片段,依此类推。
  3. 用于所有屏幕的活动。在这种情况下,我们也有几种方式 a)对整个屏幕使用一个容器Fragment,所有小部件将成为一个片段布局的一部分 b)使用一个容器片段,但使用嵌套片段 c)当我们需要更改UI时,使用没有容器的片段并将它们全部或部分替换掉,例如将UI从第一个屏幕更改为第二个屏幕,我们需要从第一个屏幕删除所有片段并添加一个新片段(列表视图) ),因为我们在这两个屏幕上没有相同的UI部分。
  4. 总而言之,我不能自己决定使用什么,什么时候使用,根据现行指南哪些更好,哪些可以带给用户更好的体验。

    我担心嵌套片段,但如果有不好的做法,我想,谷歌不会在框架中添加这样的功能。所以可能有可接受的方式。

    我想了解哪里更好地使用Activity,Fragment或它们的混合物。为所有这些情况编写代码没有问题,但主要目标是遵循构建软件体系结构的最佳实践。

    对于能够帮助理解这个话题的人,我将非常感激 感谢所有读过这篇文章的人和那些可以帮助我解决这个问题的人。

0 个答案:

没有答案