原文地址: http://www.tkk7.com/zhip/archive/2011/02/14/344258.html

在AndroidManifest.xml文件中的android:windowSoftInputMode屬性使用

The AndroidManifest.xml File

 <activity android:windowSoftInputMode=["stateUnspecified",

                                    "stateUnchanged", "stateHidden",

                                    "stateAlwaysHidden", "stateVisible",

                                    "stateAlwaysVisible", "adjustUnspecified",

                                    "adjustResize", "adjustPan"] …… >

</activity>

attributes:

android:windowSoftInputMode

活動的主窗口如何與包含屏幕上的軟鍵盤窗口交互。這個屬性的設(shè)置將會影響兩件事情:

1>     軟鍵盤的狀態(tài)——是否它是隱藏或顯示——當(dāng)活動(Activity)成為用戶關(guān)注的焦點。

2>     活動的主窗口調(diào)整——是否減少活動主窗口大小以便騰出空間放軟鍵盤或是否當(dāng)活動窗口的部分被軟鍵盤覆蓋時它的內(nèi)容的當(dāng)前焦點是可見的。

它的設(shè)置必須是下面列表中的一個值,或一個”state…”值加一個”adjust…”值的組合。在任一組設(shè)置多個值——多個”state…”values,例如&mdash有未定義的結(jié)果。各個值之間用|分開。例如: <activity android:windowSoftInputMode="stateVisible|adjustResize" . . . >

在這設(shè)置的值(除"stateUnspecified"和"adjustUnspecified"以外)將覆蓋在主題中設(shè)置的值

值 描述
 
"stateUnspecified" 軟鍵盤的狀態(tài)(是否它是隱藏或可見)沒有被指定。系統(tǒng)將選擇一個合適的狀態(tài)或依賴于主題的設(shè)置。這個是為了軟件盤行為默認(rèn)的設(shè)置。
 
"stateUnchanged" 軟鍵盤被保持無論它上次是什么狀態(tài),是否可見或隱藏,當(dāng)主窗口出現(xiàn)在前面時。
 
"stateHidden" 當(dāng)用戶選擇該Activity時,軟鍵盤被隱藏——也就是,當(dāng)用戶確定導(dǎo)航到該Activity時,而不是返回到它由于離開另一個Activity。
 
"stateAlwaysHidden" 軟鍵盤總是被隱藏的,當(dāng)該Activity主窗口獲取焦點時。
 
"stateVisible" 軟鍵盤是可見的,當(dāng)那個是正常合適的時(當(dāng)用戶導(dǎo)航到Activity主窗口時)。
 
"stateAlwaysVisible" 當(dāng)用戶選擇這個Activity時,軟鍵盤是可見的——也就是,也就是,當(dāng)用戶確定導(dǎo)航到該Activity時,而不是返回到它由于離開另一個Activity。
 
"adjustUnspecified" 它不被指定是否該Activity主窗口調(diào)整大小以便留出軟鍵盤的空間,或是否窗口上的內(nèi)容得到屏幕上當(dāng)前的焦點是可見的。系統(tǒng)將自動選擇這些模式中一種主要依賴于是否窗口的內(nèi)容有任何布局視圖能夠滾動他們的內(nèi)容。如果有這樣的一個視圖,這個窗口將調(diào)整大小,這樣的假設(shè)可以使?jié)L動窗口的內(nèi)容在一個較小的區(qū)域中可見的。這個是主窗口默認(rèn)的行為設(shè)置。
 
"adjustResize" 該Activity主窗口總是被調(diào)整屏幕的大小以便留出軟鍵盤的空間。
 
"adjustPan" 該Activity主窗口并不調(diào)整屏幕的大小以便留出軟鍵盤的空間。相反,當(dāng)前窗口的內(nèi)容將自動移動以便當(dāng)前焦點從不被鍵盤覆蓋和用戶能總是看到輸入內(nèi)容的部分。這個通常是不期望比調(diào)整大小,因為用戶可能關(guān)閉軟鍵盤以便獲得與被覆蓋內(nèi)容的交互操作。