該文章參考來源http://blog.csdn.net/twoicewoo/article/details/7384398
windowSoftInputMode屬性設置值說明。
<activity Android:windowSoftInputMode=["stateUnspecified",
"stateUnchanged", "stateHidden",
"stateAlwaysHidden", "stateVisible",
"stateAlwaysVisible", "adjustUnspecified",
"adjustResize", "adjustPan"] …… >
</activity>
attributes:
android:windowSoftInputMode
activity主窗口與軟鍵盤的交互模式,可以用來避免輸入法面板遮擋問題,Android1.5後的一個新特性。
這個屬性能影響兩件事情:
【一】軟鍵盤的狀態:當有焦點產生時,軟鍵盤是隱藏還是顯示
【二】活動的主窗口調整:①是否減少活動主窗口大小以便騰出空間放軟鍵盤,②是否當活動窗口的部分被軟鍵盤覆蓋時它的內容的當前焦點是可見的。
它的設置必須是下面列表中的一個值,或一個”state…”值加一個”adjust…”值的組合。在任一組設置多個值——多個”state…”values,例如&mdash有未定義的結果。各個值之間用|分開。例如:<activityAndroid:windowSoftInputMode="stateVisible|adjustResize". . . >
在這設置的值(除"stateUnspecified"和"adjustUnspecified"以外)將覆蓋在主題中設置的值
各值的含義:
【A】stateUnspecified:軟鍵盤的狀態並沒有指定,系統將選擇一個合適的狀態或依賴於主題的設置
【B】stateUnchanged:當這個activity出現時,軟鍵盤將一直保持在上一個activity裏的狀態,無論是隱藏還是顯示
【C】stateHidden:用戶選擇activity時,軟鍵盤總是被隱藏
【D】stateAlwaysHidden:當該Activity主窗口獲取焦點時,軟鍵盤也總是被隱藏的
【E】stateVisible:軟鍵盤通常是可見的
【F】stateAlwaysVisible:用戶選擇activity時,軟鍵盤總是顯示的狀態
【G】adjustUnspecified:默認設置,通常由系統自行決定是隱藏還是顯示
【H】adjustResize:該Activity總是調整屏幕的大小以便留出軟鍵盤的空間
【I】adjustPan:當前窗口的內容將自動移動以便當前焦點從不被鍵盤覆蓋和用戶能總是看到輸入內容的部分
表1.1
值 |
描述 |
"stateUnspecified" |
軟鍵盤的狀態 (是否它是隱藏或可見 )沒有被指定。系統將選擇一個合適的狀態或依賴於主題的設置。 這個是爲了軟件盤行爲默認的設置。 |
"stateUnchanged" |
軟鍵盤被保持無論它上次是什麼狀態,是否可見或隱藏,當主窗口出現在前面時。 |
"stateHidden" |
當用戶選擇該 Activity時,軟鍵盤被隱藏——也就是,當用戶確定導航到該 Activity時,而不是返回到它由於離開另一個 Activity。 |
"stateAlwaysHidden" |
軟鍵盤總是被隱藏的,當該 Activity主窗口獲取焦點時。 |
"stateVisible" |
軟鍵盤是可見的,當那個是正常合適的時 (當用戶導航到 Activity主窗口時 )。 |
"stateAlwaysVisible" |
當用戶選擇這個 Activity時,軟鍵盤是可見的——也就是,也就是,當用戶確定導航到該 Activity時,而不是返回到它由於離開另一個Activity。 |
"adjustUnspecified" |
它不被指定是否該 Activity主 窗口調整大小以便留出軟鍵盤的空間,或是否窗口上的內容得到屏幕上當前的焦點是可見的。系統將自動選擇這些模式中一種主要依賴於是否窗口的內容有任何佈局 視圖能夠滾動他們的內容。如果有這樣的一個視圖,這個窗口將調整大小,這樣的假設可以使滾動窗口的內容在一個較小的區域中可見的。這個是主窗口默認的行爲 設置。 |
"adjustResize" |
該 Activity主窗口總是被調整屏幕的大小以便留出軟鍵盤的空間 |
"adjustPan" |
該 Activity主窗口並不調整屏幕的大小以便留出軟鍵盤的空間。相反,當前窗口的內容將自動移動以便當前焦點從不被鍵盤覆蓋和用戶能總是看到輸入內容的部分。這個通常是不期望比調整大小,因爲用戶可能關閉軟鍵盤以便獲得與被覆蓋內容的交互操作。 |