2013-07-17 21 views
1

纽约时报Android应用程序使用操作栏中的微调器提供了部分导航。用户从“最新新闻”开始,然后如果他们导航到另一个部分,内容区域将被替换,并且“向上”导航的向左箭头将添加到操作栏徽标中。无论您切换多少部分,如果您点击箭头标志,您将始终回到“最新消息”。如果您使用“动作栏”微调器而不是箭头标志返回“顶级新闻”,徽标会适当地丢失其箭头。 (标准功能。)实施类似NYTimes的部分“向上”导航

NYTimes screenshots

我最初的方法来适应,这是摆在一个片段中的部分内容(一个ListView),并更换该片段的活动中,每当用户改变的部分。内容替换效果非常好,但我一直无法实现“向上”导航,并且我还没有找到任何有关片段的好资源。

我想知道我应该如何设计这个。我看到三种主要方法:

  1. 继续将所有部分作为一项活动的一部分,使用片段进行内容替换。使用某种方法实现“向上”导航(什么?)我无法设计或找到。

  2. 为每个部分分配自己的活动,并在用户从操作栏的微调器打开新的Intent时启动一个新的Intent。强制新的Intent的Action Bar的Spinner反映该Activity的负载部分。

  3. 与#2相同,但赋予“最新消息”等同于其自己的活动,而不是活动的变体。也许这会更有意义,因为应用程序启动到“热门新闻”,我希望它成为导航的顶级水平。

或者也许有更好的方法,我没有想到。设计建议和相关资源的链接(特别是带有示例代码或代码建议的资源,但我会尽我所能)将非常感激。

回答

1

纽约时报应用程序在一项活动中具有此功能,并使用查看页面在不同视图之间导航。为了节省内存并支持低性能设备,它使用滚动视图来指示元素何时应通过自定义MVC框架加载到内存中。

这是从2011年到2012年的情况。

我怎么知道?我写的。 :)

+0

很酷,谢谢你的回答!我通过在一个活动中替换每个部分的片段来实现类似外观的功能(方法#1,在这里我只是启用/禁用“向上”按钮取决于我是否在我的“最新新闻”等效项)。如果ICS在您开始编写应用程序时已经停用,您是否会使用碎片,或者您认为使用View Pages仍然是更好的策略? – user460847

+0

(我已经在做一些类似于加载故事元素的东西,除了使用实际的ScrollView之外,我的SherlockListFragment实现了OnScrollListener。) – user460847

+1

当片段第一次出现时,我认为它们相当混乱,仅适用于平板设备。另外,我不认为它们在每个移动设备上都受到支持。如果我再次在一个Android项目上,我肯定会再看看他们。 –