2016-09-21 128 views
1

我的android應用程序的預期效果是有一個輸入框和內容的web視圖。當用戶點擊鍵盤時,鍵盤會將輸入框向上推,但不會調整主內容的大小,只是覆蓋其頂部,如下圖所示。Android的webview鍵盤覆蓋輸入

enter image description here

我遇到的問題是,該鍵盤覆蓋輸入框,不推不起來。

這是一個cordova android應用程序。在清單中,我已經configued

<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleInstance" android:name="GigJam" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustPan"> 
在config.xml

另外:

<preference name="Fullscreen" value="false" /> 

我用的android:windowSoftInputMode =「adjustPan」,以防止調整大小屏幕這是因爲我什麼,我想不希望內容被壓縮。我也嘗試配置輸入框的CSS來固定和絕對(基本上綁在webview的底部)

從我的理解,當鍵盤彈出一個編輯輸入框中,它因爲輸入框被約束,這將被推高,以及web視圖會推高箱爲好。

任何意見讚賞, 謝謝, d

+0

你解決了嗎?我通常在Android上面臨同樣的問題,'adjustPan'將輸入壓入鍵盤頂部,以便它們始終可見,正如您所說的,不會擠壓內容。但在我的Phonegap應用程序中,輸入不會被推高。 – Taurus

+0

哦,廢話我沒有注意到接受的答案是由你添加的。 – Taurus

回答

0

Android有,我聽鍵盤事件。當顯示/隱藏觸發時,我抓住活動的輸入組件並將y軸上的框轉換爲可從e中抓取的鍵盤高度的大小在聽衆中發泄。當節目被觸發時,我轉回來。

注意:調整需要爲Android禁用:。windowSoftInputMode並設置爲 「adjustPan」

+0

哪個事件?我可以做一個「焦點」事件,但我認爲這會在iOS上默默無聞地糾正整個事件。 – Taurus

+0

請給出確切的解決方案 –

0

使用此行 getActivity()getWindow()setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);