2016-06-10 66 views
1

我的科爾多瓦應用程序由多個html文件組成,每個代表不同的視圖,但鍵盤弄亂了web視圖。在iOS上,我用離子插件鍵盤的科爾多瓦軟輸入模式android

cordova.plugins.Keyboard.disableScroll(true); 

修復的東西,但只支持iOS。我可以添加

android:windowSoftInputMode =「adjustPan」 AndroidManifest.xml似乎修復它,但我希望這隻適用於一個視圖。換句話說,除了一個特定的視圖之外,我希望鍵盤能夠推動視圖。

我想我可以根據我什麼視圖,但它看起來像曾經setSoftInputMode設置不能再更改這兩個

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN) 
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); 

之間切換?解決這個問題的最好方法是什麼?另外,如何防止鍵盤擡起頁腳? (此行爲僅在Android中出現)。

對不起,如果我的問題很混亂,但我一直在試圖解決這些問題,現在鍵盤真的讓我很沮喪。

回答

3

我想我找到了解決這個問題的最好方法。我做了一個科爾多瓦插件。 當我寫這個問題時(在這個答案前30分鐘),我不知道如何創建一個科爾多瓦插件,所以我遵循這個偉大的教程:http://www.mat-d.com/site/tutorial-creating-a-cordova-phonegap-plugin-for-android-app/

runOnUiThread可運行在執行功能基於這一個我進口import android.view.WindowManager;比我添加了這個

if(action.equals("adjustPan")) 
    cordova.getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); 
else if(action.equals("adjustResize")) 
    cordova.getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); 

不是基於我如何從JavaScript調用的函數,它改變了輸入模式:)

我會添加這個插件的GitHub和添加鏈接這裏

編輯:這是插件的鏈接https://github.com/denkomanceski/windowSoftInputMode

所有說明都在

+0

這很好,但我怎麼把它添加到config.xml? – Drutten

+0

好吧,這似乎是種工作:但現在在我的.ts文件它說不能找到windowSoftManager – Drutten