標籤:
今天發現一個問題,在錄入資訊頁面。資訊不多,但是IME彈起後,內容已經超出頁面,無捲軸,很不方便。
解決辦法:在設定檔中,頁面對應的Activity中添加
<activity
android:name="com.XXXActivity"
android:windowSoftInputMode="adjustResize"
android:screenOrientation="portrait"/>
以下是轉的,感謝 hoswat
===============================================================
關於android的IME彈出來 覆蓋輸入框的問題
android 介面中 點擊輸入框時 彈出IME 如果輸入框在底部 會出現IME遮擋輸入內容的問題
解決辦法 設定activity的 window soft input mode 屬性,屬性具體參看google官方文檔或譯文(見後面)。
需要備忘的是
1.使用adjustResize屬性是 如果介面中沒有捲軸 需要添加一個捲軸scrollview包裹所有內容,保證resize後 能滾動顯示顯示不下的內容
2.全屏fullscreen模式時 adjustResize屬性失效,屬於是一個bug,只能使用adjustPan 來設定焦點,比較悲劇
3.全屏fullscreen模式時 webview adjustPan 偶爾也會失效~~~~~~~~,悲劇一米
PS:
google官方文檔:
譯文
bug:
全屏狀態下 adjustResize 不響應 只能用adjustpan,且webview 全屏狀態下 adjustpan響應也不夠好 有時無響應。
[摘]android:windowSoftInputMode屬性使用
在AndroidManifest.xml檔案中的android:windowSoftInputMode屬性使用
The AndroidManifest.xml File
<activity android:windowSoftInputMode=["stateUnspecified",
"stateUnchanged", "stateHidden",
"stateAlwaysHidden", "stateVisible",
"stateAlwaysVisible", "adjustUnspecified",
"adjustResize", "adjustPan"] …… >
</activity>
attributes:
android:windowSoftInputMode
活動的主視窗如何與包含螢幕上的軟鍵盤視窗互動。這個屬性的設定將會影響兩件事情:
1> 軟鍵盤的狀態——是否它是隱藏或顯示——當活動(Activity)成為使用者關注的焦點。
2> 活動的主視窗調整——是否減少活動主視窗大小以便騰出空間放軟鍵盤或是否當使用中視窗的部分被軟鍵盤覆蓋時它的內容的當前焦點是可見的。
它的設定必須是下面列表中的一個值,或一個”state…”值加一個”adjust…”值的組合。在任一組設定多個值——多個”state…”values,例如&mdash有未定義的結果。各個值之間用|分開。例如: <activity android:windowSoftInputMode="stateVisible|adjustResize" . . . >
在這設定的值(除"stateUnspecified"和"adjustUnspecified"以外)將覆蓋在主題中設定的值
值 描述
"stateUnspecified" 軟鍵盤的狀態(是否它是隱藏或可見)沒有被指定。系統將選擇一個合適的狀態或依賴於主題的設定。這個是為了軟體盤行為預設的設定。
"stateUnchanged" 軟鍵盤被保持無論它上次是什麼狀態,是否可見或隱藏,當主視窗出現在前面時。
"stateHidden" 當使用者選擇該Activity時,軟鍵盤被隱藏——也就是,當使用者確定導航到該Activity時,而不是返回到它由於離開另一個Activity。
"stateAlwaysHidden" 軟鍵盤總是被隱藏的,當該Activity主視窗擷取焦點時。
"stateVisible" 軟鍵盤是可見的,當那個是正常合適的時(當使用者導航到Activity主視窗時)。
"stateAlwaysVisible" 當使用者選擇這個Activity時,軟鍵盤是可見的——也就是,也就是,當使用者確定導航到該Activity時,而不是返回到它由於離開另一個Activity。
"adjustUnspecified" 它不被指定是否該Activity主視窗調整大小以便留出軟鍵盤的空間,或是否視窗上的內容得到螢幕上當前的焦點是可見的。系統將自動選擇這些模式中一種主要依賴於是否視窗的內容有任何布局視圖能夠滾動他們的內容。如果有這樣的一個視圖,這個視窗將調整大小,這樣的假設可以使滾動視窗的內容在一個較小的地區中可見的。這個是主視窗預設的行為設定。
"adjustResize" 該Activity主視窗總是被調整螢幕的大小以便留出軟鍵盤的空間。
"adjustPan" 該Activity主視窗並不調整螢幕的大小以便留出軟鍵盤的空間。相反,當前視窗的內容將自動移動以便當前焦點從不被鍵盤覆蓋和使用者能總是看到輸入內容的部分。這個通常是不期望比調整大小,因為使用者可能關閉軟鍵盤以便獲得與被覆蓋內容的互動操作。
bug:
全屏狀態下 adjustResize 不響應 只能用adjustpan,且webview 全屏狀態下 adjustpan響應也不夠好 有時無響應。
【轉】關於android的IME彈出來 覆蓋輸入框的有關問題