2011-02-23 46 views
4

我正在開發一個在Android上使用Phonegap的應用程序。一切工作正常在OS 2.1,但在OS 2.2上,當我們點擊任何輸入類型的文本字段的鍵盤出現,整個窗口移動到UP端和輸入類型字段變得不可見。任何人都可以告訴我究竟是什麼問題,並可以解決使用JavaScript?如何停止在Android 2.2上調整窗口大小的功能?Android 2.2 Web View窗口在虛擬鍵盤出現時向上移動

我在Text Input on android phone is not in view when the keyboard for webview comes up?上也發現了同樣的問題,但不是解決方案。

回答

5

我試圖把下面的CSS屬性,它是爲我工作在Android 2.2

HTML,身體{溢出:隱藏;}

不知道爲什麼它是工作,但它的工作。 ..

注:我使用「iScroll」插件在我的應用程序中滾動。

+0

這對我來說非常合適,而且我沒有使用iScroll。我的主要應用程序元素使用-webkit-box在主體中居中。 – incidentist 2011-07-27 22:34:53

+0

不適用於Android 4.3 – Nilesh 2013-09-11 09:17:03

1

您可能需要啓用這個腳本,以避免您的應用程序的滾動,當你輸入文本域獲得焦點:)

function preventBehavior(e) 
{ 
    e.preventDefault(); 
};document.addEventListener("touchmove", preventBehavior, false); 
+0

工作。 – Bhupi 2011-02-24 07:57:00

2

我從來沒有用過的PhoneGap,但我去他們的網站,我明白,它仍然通過Eclipse和ADT工作;如果是這樣的話,那麼這個問題可以通過AndroidManifest.xml文件中加入以下到您<activity>標記爲被調用軟鍵盤的活動來解決:

<activity android:windowSoftInputMode="adjustNothing" 
      //other flags 
/> 

其實這似乎並非如此。我正在閱讀的API文件實際上是用於Honeycomb,這個標誌不在2.2中。抱歉。我最近的所有工作都是在平板電腦上進行的,因爲我最近一直在準備,所以我忘記了哪些版本的SDK已經加入了書籤。

10

添加此

android:windowSoftInputMode="adjustPan" 

您在AndroidManifest.xml將解決這一問題

+0

對我來說adjustPan不會將輸入滾動到視圖中。 Android 4.3類似問題:http://stackoverflow.com/questions/17483881/webview-does-not-pan-on-android-web-application-with-phonegap – Nilesh 2013-09-11 09:14:05

0

在Android 2.2追加了此行爲時有在頁一個元素與「改造」的CSS屬性(如變換:translate3d(0px,0px,0px);) 刪除這些聲明爲我解決了這個問題。 (溢出:隱藏還,但你不能再滾動的應用程序)

PS:overridding聲明不通過點擊文本框,什麼都不會發生,虛擬鍵盤不會出現不幸

相關問題