我對Android開發和麪對UI實現問題頗爲陌生。也就是說,我試圖找到一個好的方法(設計模式?)來解決視圖層次結構和視圖之間的導航(帶歷史記錄)。是否總是要啓動新的Activity
?我不想在使用Android SDK的第一步中學習不良習慣,因此我的問題。不勝感激您的個人方法,您會發現很好的關注或任何資源/教程的鏈接詳細闡述這個問題。Android中視圖導航的設計模式?
4
A
回答
4
在Android中,建議的行爲是這樣的:
- 的後退按鈕可返回到先前的「屏幕」。如果你管理你自己的「子屏幕」,你並不總是需要開始一個新的活動來創建一個新的「屏幕」,你應該覆蓋你的返回按鈕,以便返回到前一個「子屏幕」。
- 用戶多任務當內存受限時,操作系統可能會終止您的應用程序。如果操作系統殺死了您的應用程序,您應該確保用戶不會丟失未保存的工作(例如部分填寫的表單),您的應用程序應該恢復用戶正在做的任何事情,就好像用戶返回到應用程序時永遠不會中止一樣。假設用戶可能隨時離開做其他活動(例如緊急電子郵件通知出現,用戶放棄應用程序以閱讀電子郵件),並且行爲適當。
- 有關於你的問題的UI設計準則:http://developer.android.com/guide/practices/ui_guidelines/activity_task_design.html
諷刺的是,連谷歌也承認,並不是所有的本機應用程序行爲這種方式。一些原生應用程序由於有意識的設計決策而違反了指導原則,而另一些僅僅是因爲歷史原因。
0
建議您啓動新的活動,因爲它是Android能夠管理應用程序中任務活動週期的最佳方式。
您可以隨時創建視圖,並且可以使用setContentView()和事件的良好控制代碼進行處理,但是您會在糾結的混亂中獲得單色界面。
嘗試對用戶的應用程序界面進行一點分析,它會顯示主屏幕和活動。這是很容易,它是有效的... :)
0
我會推薦這本書。 http://commonsware.com/
如果您是Java初學者,您應該考慮先學習Java。例如,良好的書籍將是Head First Java或Thinking in Java。
閱讀這些書後,我建議嘗試一下在線教程,因爲你可以學到很多不太好的東西,而書的質量很好!
+0
感謝書籍建議:) – matm 2010-10-21 08:49:29
相關問題
- 1. 標籤導航視圖的正確設計模式?
- 2. DurandalJS - 無視圖模式刷新導航
- 3. Android列表視圖導航
- 4. 使用MVVM模式的WPF swtich視圖無導航視圖
- 5. ActionBarCompat:設置導航模式
- 6. Android Web視圖中的軌跡導航
- 7. 導航欄視圖爲模態視圖?
- 8. 以模態視圖導航視圖
- 9. 多視圖狀態的設計模式?
- 10. 菜單導航的設計模式(在c/C++中)
- 11. iPhone模式視圖和導航視圖問題
- 12. ASP.NET MVC - 部分視圖設計模式?
- 13. 動態列表視圖 - 設計模式
- 14. 導航回視圖時是否存在處理視圖模型的好模式?
- 15. iOS中的視圖導航
- 16. 導航視圖
- 17. MVC導航設計
- 18. Android的設計模式
- 19. 在模態視圖中設置導航項目標題
- 20. android - 如何在底部導航視圖中設置菜單項?
- 21. 如何設計帶有子列表視圖的導航抽屜?
- 22. 在視圖之間進行快速導航的設計建議
- 23. 導航模式視圖控制器和導航控制器的層次結構
- 24. Android材質設計導航抽屜
- 25. 視圖模型之間的Silverlight導航
- 26. 導航到現有的視圖模型
- 27. 包括局部視圖應用模式視圖查看模型設計模式
- 28. 在ViewControllers之間導航的設計模式是什麼?
- 29. Android - 底部導航視圖和導航欄內的片段
- 30. Android的導航模式,深導航和向上按鈕
UI設計指南上的鏈接看起來很有趣。讀完之後會回覆我的反饋。謝謝你,謊言:) – matm 2010-10-20 14:09:26
你建議的文章給了我一個關於UI設計考慮因素的廣泛概述,所以我認爲這是我的問題的答案,因爲我可以用Android條款來制定我的問題:)現在,我將重點放在「Activities任務「(developer.android.com),所以我可以解決以下問題:啓動一個由少量活動(」屏幕「)組成的任務,在BACK鍵上返回任務的根活動。換言之:Activity1-> A2->(TaskAct1-> TA2-> ...-> TAn) - (BACK) - > A2,即:任何任務活動將用戶導航回到A2上。我認爲這完全是關於適當啓動任務(親和力?)和堆棧操作。我對麼? – matm 2010-10-21 08:44:12