天天看點

android:windowSoftInputMode屬性詳解

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:目前視窗的内容将自動移動以便目前焦點從不被鍵盤覆寫和使用者能總是看到輸入内容的部分