Activities
被设计为表示应用程序中的单个屏幕,而Fragments
被设计为可重复使用的带有内部逻辑的UI布局。直到不久前,我按照它们应该开发的方式开发了一个应用程序。我创建了一个
Activity
来表示应用程序的屏幕,并在ViewPager
或Google Maps
中使用Fragments。我很少创建ListFragment
或其他可以多次重用的UI。最近我偶然发现了一个项目,其中只包含2个
Activities
,一个是SettingsActivity
,另一个是MainActivity
。 MainActivity
的布局填充了许多隐藏的全屏UI片段,只显示一个。在Activity
逻辑中,存在许多FragmentTransitions
在应用程序的不同屏幕之间进行切换。我喜欢这种方法的原因是因为应用程序使用
ActionBar
,它保持完整,不会随着屏幕切换动画移动,这就是Activity
切换所发生的情况。这使得屏幕转换更加流畅。所以我想要求您分享关于这个主题的当前开发方式,我知道乍一看它可能像是一个基于观点的问题,但我认为这是一个关于Android设计和架构的问题……不是真正基于观点的问题。
更新(01.05.2014):根据Square的Eric Burke所做的演示(我必须说这是一个非常棒的演示,提供了许多对Android开发人员有用的工具。而且我与Square没有任何关系)。
http://www.infoq.com/presentations/Android-Design/
从我过去几个月的个人经验中,我发现构建应用程序的最佳方法是创建一组片段,这些片段代表应用程序中的一个流,并在一个活动中呈现所有这些片段。因此,您的应用程序中将有与流的数量相同的活动数量。这样,操作栏在所有流屏幕上保持不变,但在更改流时会重新创建,这非常合理。正如Eric Burke所说,以及我也认识到的那样,尽可能使用少量的活动的哲学并不适用于所有情况,因为它会在他所称的“God”活动中造成混乱。