當我的科爾多瓦應用程序中顯示安卓鍵盤時,我有一些內容/輸入字段。我有 android:windowSoftInputMode="adjustPan"
和<preference name="fullscreen" value="false" />
科爾多瓦安卓鍵盤上傳內容
我試圖android:windowSoftInputMode="adjustResize
但它一直因爲它是調整窗口的大小縮小我的內容(我的內容是基於視窗的寬度和高度視大小)。謝謝你的任何建議!
當我的科爾多瓦應用程序中顯示安卓鍵盤時,我有一些內容/輸入字段。我有 android:windowSoftInputMode="adjustPan"
和<preference name="fullscreen" value="false" />
科爾多瓦安卓鍵盤上傳內容
我試圖android:windowSoftInputMode="adjustResize
但它一直因爲它是調整窗口的大小縮小我的內容(我的內容是基於視窗的寬度和高度視大小)。謝謝你的任何建議!
所以我有一個可能或不可能適用於每個人的工作,但我想我可以發佈這個希望幫助遇到此問題的人!
我找到了很多答案,但沒有真正幫助我。所以在我的AndroidManinfest.xml
文件中我設置了android:windowSoftInputMode="adjustPan|stateHidden"
。是的,這仍然會覆蓋鍵盤下方的內容。
爲了避免這種情況,我給了我所有的滾動視圖,這些視圖會受到鍵盤顯示類的inputScrollContainer的影響。把它們命名爲任何你想要的。
由於每個容器(對我來說)是相同的高度是每個頁面的最上面一欄,我做了以下內容:(你將必須安裝設備插件,並從科爾多瓦
native.keyboardshow
函數內,iOS版會給你基於鍵盤的高度調整大小後的視圖)然後,在我的native.keyboardShow
功能,我做了以下內容: - 然後得到了最上面一欄的高度(我選一個,因爲他們都是相同的) - 增加了增加了keyboard height
和top bar height
一起 - 然後我減去那些從窗口高度
現在這樣做給了我滾動視圖的高度「剩餘」。我後:
inputScrollContainer
現在滾動視圖的大小調整爲頂部欄和鍵盤之間留下的任何東西。然後在我的native.keyboardhide
函數中,我只是將高度恢復到原來的所有滾動視圖的高度。
我確定還有其他的方法可以做到這一點,但是這樣做可以讓我在iOS和Android之間保持靈活性和一致性。我希望這可以幫助別人!
要在鍵盤可見/顯示時向上移動佈局,請添加以下活動。
<activity android:windowSoftInputMode="adjustPan|adjustResize"> </activity>
adjustResize:活動的主窗口總是被調整以騰出空間給軟鍵盤在屏幕上。
adjustPan:活動的主窗口沒有調整大小以爲軟鍵盤騰出空間。相反,窗口的內容會自動平移,以便當前焦點永遠不會被鍵盤遮擋,用戶始終可以看到他們正在鍵入的內容。這通常不如調整大小,因爲用戶可能需要關閉軟鍵盤才能與窗口的遮蔽部分進行交互。 在你的場景中,你可以利用調整pan 然而,它的工作原理基於android版本。它可能不適用於特定版本。請找到並使用。
Please have look at this answer you will come to know a lot.
視窗高度是這裏的問題。 有一些方法可以通過mediaqueries或javascript(使用正確的高度修改所有dom元素)來解決問題。 但在我的情況下,我有很多dom元素,真的不想用javascript來改變這一切。 我的訣竅是: - 更改所有VH與REM和4 除以你的價值 - 在所有的頁面都使用這個小的javascript:
$("html").css({"font-size": ($(window).height()/25)+"px"});
在這裏,我們走了,在這個例子中,字體-size是窗口高度的4%(原因字體大小對移動應用的最小值),所以:寡婦高度的 1rem = 4%= 4vh 0.25rem = 1vh等...
在我的情況,我用SASS函數來分割所有的vh,所以它更容易改變所有的css。 (1h = rem(1)= 0.25rem)
希望這有助於某一天。
您在Cordova應用程序內添加的Android平臺應該位於以下文件中:AndroidManifest.xml位於platforms/android – TedEd