2016-06-10 81 views
0

我有一個應用程序,其中的用戶操作有時會導致應用程序在顯示前從服務器獲取數據,例如獲取某個項目的詳細信息(信息太大而無法預載所有項目)或刷新所有數據。在Android中顯示「請稍候」消息的最佳做法/指南是什麼?

雖然這是在過程中,我不希望用戶做任何事情。顯示「請稍等」信息的準則是什麼?理想情況下,用戶可以根據需要取消請求。

我可以用一個警告對話框做到這一點,但操作通常只需要半秒鐘第二,和國際海事組織它看起來非常奇怪,一個警告對話框彈出只是片刻,也許甚至沒有足夠長的時間能夠閱讀該消息。

我看到的另一個選擇是小吃店,但它不會阻止用戶做其他事情或導航離開。

有沒有指導方針或最佳實踐在這種情況下該怎麼做?

我使用Xamarin.Android,但我不認爲這很重要。

+0

你在問「如何編碼」或「應該顯示什麼」? – BornToCode

+0

「應該顯示什麼」,如果可能的話,哪些類代表相應的UI元素。我大概可以弄清楚「如何編碼」的細節,如果沒有,我會提出一個新問題,但這實際上是關於「應該顯示什麼」 – Naryoril

回答

0

您可以在顯示加載內容的地方顯示加載圈,如this。完成後,請將裝入圓圈替換爲內容。

實際上「我不希望用戶做任何事情」在大多數Android設計模式中都是不可接受的。 Android應用程序應該允許用戶控制應用程序。

關於取消請求,您可以在加載循環附近添加一個取消按鈕,或者在循環內添加一個十字,這將在按下時停止進程。後者是優選的。

欲瞭解更多圖案,請參閱this

關於進度對話框

據我所知,進度對話框阻斷用戶交互在新的Android氣餒。但是很抱歉,我找不到參考資料,可能是材料設計指南文件中的某處。但是,由於您是開發人員,這完全取決於您:D。

+0

他不是要求小部件/視圖,而是最好的方法在任何長時間運行的任務中顯示進度條! –

+1

是的,我解釋了最好的顯示方式。他詢問了指南,並提供了鏈接。爲什麼downvoted? :/ – BornToCode

+0

其實我至少有一部分情況我喜歡這種方法。現在我從網上獲取數據,然後打開一個新的活動。最好打開新的活動,只需一個微調器即可清空,然後在數據準備就緒時顯示圖表和內容。對於完整的數據刷新(這也引發用戶回到應用程序的入口點/主屏幕),我可能會使用ProgressDialog。 – Naryoril

0

查看AsyncTaskdocumentation

我會做長時間運行的任務在AsyncTask,顯示ProgressDialog在它的onPreExecute方法和隱藏後finised,在onPostExecute

爲防止用戶關閉對話框,您可以使用Dialog.setCancelable()方法。

您可以爲Dialog定義自定義佈局,並通過setContentView()方法對其進行設置。

相關問題