2017-05-02 58 views
0

幾個SO問題涵蓋了如何連接WebView讓「後退」按鈕遍歷瀏覽器歷史的主題。一個Android developer doc page很好地回答了這個問題。我們有一個應用程序,使用推薦的方法:如何從WebView提供具有歷史回溯的快速退出?

@Override 
public void onBackPressed() { 
    if (mWebView.canGoBack()) { 
     mWebView.goBack(); 
     return; 
    } 

    // Otherwise defer to system default behavior. 
    super.onBackPressed(); 
} 

而且工作正常。但文檔頁面還提醒,

在高度動態的網頁 中使用此機制可能會產生大量歷史記錄時請務必小心。生成大量 歷史記錄的頁面(例如對文檔 哈希進行頻繁更改的頁面)可能使用戶擺脫您的活動變得繁瑣。

我們的客戶已經確認這是一個問題:當一個WebView內下了十幾個連續的環節,又回到了以前的(父)活動繁瑣,特別是因爲你有抽頭之間的等待WebView刷新的後退按鈕。

不幸的是,開發者文檔頁面並沒有建議這種情況的解決方法。

一種可能性是use the "up" button在工具欄/ appBar/actionBar中退出WebView。

我擔心的是,「向上」按鈕通常看起來像一個向後指向的箭頭或人字形,非常類似於「後退」按鈕(與某些瀏覽器中的「後退」箭頭相同)。那麼我們會在工具欄和Android「後退」按鈕中有一個「向上」按鈕,看起來非常相似,並且做了一些不同的事情。這似乎令用戶感到困惑。

除了「後退」按鈕,還有更好的方式來從WebView提供「退出」導航嗎?

(不重複:using phones back button to exit from webview詢問如何獲取「返回」按鈕退出的WebView 有沒有更多的歷史了穿越回來之後。)

回答

1

一種可能性是使用「在工具欄/ appBar/actionBar中單擊「向上」按鈕以退出WebView。

你還有什麼在工具欄中?它會做什麼?

通常,每個不是根的屏幕在工具欄中都有一個home(向上)按鈕,可以再次關閉屏幕。這是大多數Android應用程序的工作原理。

我與關心的是「向上」按鈕通常看起來像一個向後的箭頭或人字形,在概念上非常相似的「後退」按鈕(等同於「回」的箭頭在某些瀏覽器) 。那麼我們會在工具欄和Android「後退」按鈕中有一個「向上」按鈕,看起來非常相似,並且做了一些不同的事情。這是混淆用戶的祕訣嗎?

這就是Android,如果你這樣做,你可以按照平臺的指導方針。如上所述,工具欄中的箭頭幾乎在每個應用程序中,並且遠離當前屏幕,無論是稱爲home,back,up還是其他。
但是你是對的,回來和困惑了很多。

另一種方法是選擇關閉風格。將默認箭頭替換爲✖其行動關閉當前屏幕應該是明顯的。

雖然我更喜歡向上箭頭,✖是一個有效的選擇,特別是如果你彈出一些WebView的額外內容,並希望有一個強有力的指示器再次關閉它。

有沒有更好的方式來提供「退出」導航從WebView除了「後退」按鈕?

沒有。您可以嘗試詢問UX Stack Exchange,但是您已經有2個平臺標準—,即可以並且應該用於導航的back和up —。

您可能會想到的其他任何東西都是「新的」,並且對您的應用程序來說是獨一無二的,但是您當然可以添加「關閉屏幕」按鈕。


TL;博士如果你不喜歡的向上箭頭在工具欄中使用✖作爲一個密切的圖標。

+0

我討厭在描述上行功能時如何避免使用「後退」來防止進一步的混淆。 –

+0

感謝您的回答。我總是在思考這些問題(是的,這很令人困惑,但這些都是平臺指南),並且確認有幫助。 – LarsH