2012-11-17 92 views
1

我實施類似於Fragments (Android Developers)描述的一個片段層級。 enter image description here添加平板電腦支持:片段及活動主/(安卓)

在縱向應用程序應該表現爲在第二種情況下片劑ADITION。我的問題是處理從一個方向到另一個方向的交易。

我考慮的第一個想法是:

  • 從風景到人像:當活動前進到肖像:刪除片段B向視圖。對於結果啓動活動B傳遞propper值恢復原始片段B態
  • 從人像到風景:當活動B去畫像。完成(結果中包含片段2狀態)。具有結果的活動A恢復並將片段B添加到其佈局。

但是這個解決方案相當複雜,我認爲它可能不是一個好主意。我考慮的替代解決方案只有一個活動。該活動佈局是:

<FrameLayout> 
    <LinearLayout> 
     <Fragment A> 
     <Fragment B> 
    <Slot> 

對於小裝置:

  • 該應用程序將刪除片段B和當選擇了項目的片段添加到返回堆棧到「時隙」

對於平板電腦:

  • 使用fragmentTransactions片段B從其位置移動到t他「插槽」使用堆棧中正確的行爲與方向改變

我認爲第二個選項聽起來更好,但是,就是這樣做的正確方法是什麼?

感謝

回答

1

如果你想聽我的意見,我會說這取決於太多因素。我認爲你應該堅持你覺得可以管理的程度。這也取決於你的應用程序的屏幕流程有多複雜。

在一個活動保持它,對我來說,一個好主意,如果你沒有那麼多的碎片來管理。這種方法的一個優點是你不需要擺弄兩種不同活動的生命週期。

不管怎樣,找到實現複雜的是方法相關的指標,你打算什麼你不會管理的未來。

希望有幫助!

-1

我不明白你爲什麼會想這樣做在這樣一個複雜的方式。在平板電腦上進行一項活動,在手機上進行兩項活動。有第一個活動實現一個偵聽器,如果列表片段的項目被點擊,將觸發。活性知道如果它是內部單或雙窗格模式,使得onItemSelected回調方法內,都它或者在一個窗格中模式的情況下啓動一個新的活動,或更換的片段,以片劑的情況下。

你也可以看到這一點,創建一個新的項目時,使用主/詳細信息模板。