eg:android:windowSoftInputMode="adjustPan|adjustResize"
說明
activity主窗口與軟鍵盤的交互模式,可以用來避免輸入法面板遮擋問題,Android1.5後的一個新特性。
作用
這個屬性能影響兩件事情:
- 當有焦點產生時,軟鍵盤是隱藏還是顯示
- 是否減少活動主窗口大小以便騰出空間放軟鍵盤
它的設置必須是下面列表中的一個值,或一個”state…”值加一個”adjust…”值的組合。在任一組設置多個值——多個”state…”values,例如&mdash有未定義的結果。各個值之間用|分開。例如:
在這設置的值(除”stateUnspecified”和”adjustUnspecified”以外)將覆蓋在主題中設置的值
參數
各值的含義:
屬性值 | 對應狀態 |
---|---|
stateUnspecified | 軟鍵盤的狀態並沒有指定,系統將選擇一個合適的狀態或依賴於主題的設置 |
stateUnchanged | 當這個activity出現時,軟鍵盤將一直保持在上一個activity裏的狀態,無論是隱藏還是顯示 |
stateHidden | 用戶選擇activity時,軟鍵盤總是被隱藏 |
stateAlwaysHidden | 當該Activity主窗口獲取焦點時,軟鍵盤也總是被隱藏的 |
stateVisible | 軟鍵盤通常是可見的 |
stateAlwaysVisible | 用戶選擇activity時,軟鍵盤總是顯示的狀態 |
adjustUnspecified | 默認設置,通常由系統自行決定是隱藏還是顯示 |
adjustResize | 該Activity總是調整屏幕的大小以便留出軟鍵盤的空間 |
adjustPan | 當前窗口的內容將自動移動以便當前焦點從不被鍵盤覆蓋和用戶能總是看到輸入內容的部分 |
總結:
當使用android:windowsSoftInputMode時,需要根據項目需求設置好對應的屬性