2012-11-14 32 views
2

我想解決的問題是,在我的Webview中,當用戶選擇文本字段時,出現的鍵盤覆蓋下面的文本字段。 相反,我需要一個行爲,將文本字段移到鍵盤上方,就像標誌SOFT_INPUT_ADJUST_PAN所做的那樣。adjustview在全屏Webview中的行爲

基於測試,Webview默認情況下,它顯示的是鍵盤下方的字段。 但我的WebView是全屏。我在我的activity中調用this.getWindow()。setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); ,這似乎使android停止默認的「平移和掃描」行爲。

我試着打電話給 getWindow()。setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN) 甚至 getWindow()。setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE) 但沒有解決它。

我需要將活動設置爲全屏模式,因爲我想隱藏標題欄和狀態欄,所以刪除它不是一個選項,除非有另一種方法來隱藏狀態欄。

有關如何解決此問題的任何想法?

Laurent

回答

0

您需要刪除FLAG_FULLSCREEN標誌。有一個bug某處OS機械和一些周圍挖我發現以下幾點:

  • 周圍無Web視圖adjustPan任何額外的滾動視圖從來沒有爲我工作。不幸的是,添加滾動視圖並不總是有幫助。
  • adjustScroll對我的作品的時候FLAG_FULLSCREEN不存在該活動的網頁視圖中。

所以總結起來去當涉及到的WebView最安全的選擇是adjustResize不是全屏活動。

0

對於我這樣的工作:

getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); 
+0

雖然這個答案很可能是正確的,有用的,如果你有一些解釋與它一起,解釋它如何幫助解決這個問題,最好。如果存在導致其停止工作並且用戶需要了解其曾經工作的變化(可能不相關),這在未來變得特別有用。 –