2013-07-17 19 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項目上,我肯定會再看看他們。 –