我對GWT活動和場所的理解是,對於屏幕上的給定區域,您有ActivityManager
和ActivityMapper
。您可以在屏幕上顯示多個區域,這意味着您可以有多個ActivityManagers
和ActivityMappers
(每個區域一個)。所以,每當有PlaceChange
的ActivityManagers
詢問他們各自的ActivityMapper
它應該被顯示給定Place
什麼活動。只要你的Places
都有一個共同的佈局,它們以不同的方式重複執行不同的活動,這很好。我的問題是我們如何處理不同的Places
使用完全不同的佈局的情況?我的第一個想法是隻有更多ActivityManagers
和ActivityMappers
,如果Place
不使用特定區域,那麼該區域的ActivityMapper
將簡單地返回null
當我們更改爲Place
。如果有更好的方法,我會感激任何智慧。GWT在屏幕布局每個地方改變時使用活動和場所
回答
我發現它更容易使用單一ActivityMapper/ActivityManager對整個應用程序。
在典型情況下,你有一個「菜單」區和「主」區域。菜單區域非常基本:點擊菜單項將用戶發送到新的地方。它還會突出顯示新選擇的項目並重置先前選擇的項目的樣式。所有這些都可以在一個簡單的小部件中輕鬆完成,您可以在需要此菜單的所有視圖中包含這些小部件。爲菜單區域分開使用ActivityMapper和ActivityManager只會使所有內容複雜化,而沒有提供任何好處。
我使用「頂部菜單」區域和「左菜單/樹」區域相同的方法:一個小工具,告訴主持人數據在「主」區域顯示哪些。
我在我的應用程序超過50個不同的地方,它確實有助於有一個簡單的架構:每個地方對應一個視圖和一個活動。
您是否爲避免單個地方的多個活動而做出了重要的決定,以便您可以使用該結構,或者在使用單個ActivityManager/ActivityMapper時是否還有一些方法可以支持多個活動? – Tom
我避免使用多個活動。我從來沒有遇到過一個UI設計,其中兩個區域同時參與一種複雜而獨立的行爲,每個區域都需要一個專門的活動。我猜這樣的設計是可能的,但我相信爲菜單或樹創建一個專門的活動會產生更多的問題。 –
- 1. 當屏幕旋轉時,佈局改變
- 2. 嘗試從一個活動屏幕移動到另一個活動屏幕時,佈局保持不變
- 3. 屏幕外的偏移活動佈局
- 4. 佈局改變與屏幕尺寸
- 5. 帶活動和場所的GWT MVP - 「全局」參考?
- 6. 改變滑動屏幕的活動
- 7. 在Android中,每個屏幕應該是自己的活動還是佈局?
- 8. 展開自動佈局中改變方向和屏幕尺寸的意見
- 9. 在改變屏幕旋轉佈局時保持webview
- 10. 如何在屏幕方向更改時防止佈局復位?
- 11. GWT活動和場所:重複使用模態對話框?
- 12. Android:佈局「滑動」屏幕?
- 13. 適應佈局以改變屏幕方向
- 14. 屏幕尺寸和佈局
- 15. 靈活的全屏幕布局,CSS
- 16. 使用RecyclerView適配器更改運行時佈局屏幕
- 17. GWT活動和地方和SEO
- 18. 嵌套在gwt活動和地方的活動和歷史
- 19. 我怎樣才能使佈局小於3「屏幕和佈局4.8」屏幕(android)
- 20. 關於整個GWT MVP vs活動和場所的困惑
- 21. GWT活動和場所 - 如何理解這個概念?
- 22. 動態地在1個活動中更改佈局
- 23. 谷歌地圖和活動場所
- 24. 當添加一個片段時,活動佈局不會改變
- 25. 使用自動佈局,而4屏幕應用程序運行在3.5屏幕
- 26. 佈局在全屏幕中不可見Xamarin Android中的活動
- 27. 在不顯示屏幕布局的情況下執行活動
- 28. 當屏幕方向改變時,導致uri變爲null的相機活動
- 29. OpenGL屏幕布局
- 30. 響應Adsense廣告調整屏幕方向更改(同時使用Bootstrap佈局)
我不認爲有_better_方式。見http://tbroyer.posterous.com/gwt-21-activities-nesting-yagni –
謝謝你,那篇文章很完美。 – Tom