android:windowSoftInputMode屬性應用

 android:windowSoftInputMode屬性應用


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"以外)將覆蓋在主題中設置的值

  值 描述

<1>"stateUnspecified" 軟鍵盤的狀態(是否它是隱藏或可見)沒有被指定。系統將選擇一個合適的狀態或依賴於主題的設置。這個是爲了軟件盤行爲默認的設置。

<2>"stateUnchanged" 軟鍵盤被保持無論它上次是什麼狀態,是否可見或隱藏,當主窗口出現在前面時。

<3>"stateHidden" 當用戶選擇該Activity時,軟鍵盤被隱藏——也就是,當用戶確定導航到該Activity時,而不是返回到它由於離開另一個Activity。

<4>"stateAlwaysHidden" 當該Activity主窗口獲取焦點時軟鍵盤總是被隱藏的,

<5>"stateVisible" 軟鍵盤是可見的,當那個是正常合適的時(當用戶導航到Activity主窗口時)。

<6>"stateAlwaysVisible" 當用戶選擇這個Activity時,軟鍵盤是可見的——也就是,也就是,當用戶確定導航到該Activity時,而不是返回到它由於離開另一個Activity。

<7>"adjustUnspecified" 它不被指定是否該Activity主窗口調整大小以便留出軟鍵盤的空間,或是否窗口上的內容得到屏幕上當前的焦點是可見的。系統將自動選擇這些模式中一種主要依賴於是否窗口的內容有任何佈局視圖能夠滾動他們的內容。如果有這樣的一個視圖,這個窗口將調整大小,這樣的假設可以使滾動窗口的內容在一個較小的區域中可見的。這個是主窗口默認的行爲設置。

<8>"adjustResize" 該Activity主窗口總是被調整屏幕的大小以便留出軟鍵盤的空間。(整個屏幕布局保持不動,如果輸入框所在的佈局是可滾動的,則整個界面一起向上滾動,否則只有輸入框向上平移(如果需要的話)。最後的佈局是,鍵盤在最下,鍵盤上面是輸入框。被鍵盤擋住的部分可以通過滑動佈局來查看。一般都會選擇這個屬性。)
如果該EditText所在的佈局有一個是可滑動控件(比如ScollView,listView)則該可滑動控件的高度將會縮小,可通過滑動改控件來查看其它內容,最後結果是鍵盤在最下,EditText在鍵盤上面。

  如果該EditText所在的佈局沒有可滑動控件則佈局界面將會固定不動,只是鍵盤從下面彈出來。有可能鍵盤會覆蓋掉EditText,此時你將看不到自己輸入的內容。

<9>"adjustPan" 該Activity主窗口並不調整屏幕的大小以便留出軟鍵盤的空間。相反,當前窗口的內容將自動移動以便當前焦點從不被鍵盤覆蓋和用戶能總是看到輸入內容的部分。這個通常是不期望比調整大小,因爲用戶可能關閉軟鍵盤以便獲得與被覆蓋內容的交互操作。(整個佈局忘上平移,最後的佈局是,鍵盤在最下,鍵盤上面是輸入框。被平移出屏幕的部分,不可通過向下滑動來獲取焦點或者叫查看。必須把鍵盤隱藏掉纔可以看到被隱藏掉的部分佈局。)

  不管該EditText所在的佈局裏有沒有可滑動的控件,該模式下,整個佈局會被鍵盤頂上去,最後的佈局是,鍵盤在最下,EditText在鍵盤上面。注:該模式不可取,儘量不用。

 <10> "adjustNothing" 固定界面不動,鍵盤從底部彈出來,有可能覆蓋輸入框。這樣就看不到打了什麼字。





發佈了35 篇原創文章 · 獲贊 7 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章