2009-06-18 12 views
29

,你認爲是做了嚮導一樣應用的最佳方式(用戶可以用下一個和後退按鈕屏幕之間導航,每個屏幕有節省一些狀態數據)的Android平臺。作出這樣的應用程序嚮導中的Android

我主要是能想到的兩種方法:

  1. 有一個活動+查看每個屏幕,然後我通過調用每個活動進行畫面切換。什麼讓這個好處是,我可以使用系統後退按鈕作爲我的後臺處理程序,我不必自己照顧,以及每個活動將保存它自己的狀態。

  2. 有一個活動,很多意見,我切換視圖中的每個畫面的變化是什麼,這有助於我重新使用更多的代碼,但使保存狀態一塌糊塗。

你覺得呢?在Android上這樣做的最好方法是什麼?

回答

12

我建議用2作爲去適應它的活動和觀點的目的。在這種情況下保存狀態很簡單 - 如果使用MVC模式,可以簡單地將模型對象傳遞給視圖。每個視圖都有它可以讀/寫的模型部分。無論你在哪裏,模型應該始終具有當前狀態。如果你被處置,只需保存模型。由於您在顯示每個頁面時已從模型中讀取,所以自動恢復工作將自動進行

+0

似乎是一個不錯的選擇 – Aada 2013-05-13 06:06:51

+2

有,使您能夠創建嚮導功能很容易,看看[WizarDroid(HTTP庫:// wizardroid.codepond.org)。這是有據可查的和不斷的發展。 – 2013-09-15 08:30:22

+0

@ CodePond.org這正是我所需要的。它運作良好,並沒有花時間模仿這個例子。 – theblang 2014-07-28 21:25:04

1

我覺得2更好。將每個「頁面」放在視圖中,然後在顯示和隱藏它們之間交替。使它變得微不足道,以進行漂亮的轉場。你想維護什麼狀態?唯一不能自動工作的將是焦點,我想你可能想在每次切換頁面時重置它。如果你認爲這是你的應用的正確行爲,那麼回收也是微不足道的。

隨着1您可以重用幾乎所有的代碼(只是定義自己的WizardBase類),但我認爲活動是很慢啓動(且需要更多內存),比視圖之間切換。

6

我已經走了第一個辦法,因爲它似乎更自然。另一個應用程序使用ViewFlipper來切換視圖,但遠沒有嚮導那樣。

+0

這是Android應該工作的方式。 – 2009-06-22 15:13:10

+0

@Isaac Waller 什麼是?不使用ViewFlipper? – 2009-08-31 12:53:49

+0

http://developer.android.com/reference/android/widget/ViewFlipper.html – wes 2013-01-16 13:30:57

17

我已經開發了一個輕量級的Android庫,它是建立在Android的ViewPager的頂部,可以用於類似活動創建嚮導。檢查出來:WizarDroid

+4

這需要更多的投票。好的解決方案 – 2013-09-19 14:14:33

+0

這是一個不錯的解決方案,但不是很一般。依賴viewpager使得有必要在任一側創建至少一個片段,如果下一步的內容尚未確定,這可能不方便。 – 2014-04-11 08:33:51

+0

無法弄清楚如何使用取決於支持lib.19x w /新版本支持lib版本的Wizardroid – m02ph3u5 2014-11-07 15:07:57

相關問題