Android開發中EditText得到焦點彈出輸入框改變屏幕布局

再AndroidManifest.xml 中設置 Activity的屬性 android

<activity android:name=".ui.HomeActivity"
            //這一行即設置彈出輸入法後, 不改變Activity的佈局
            android:windowSoftInputMode="adjustPan"
            >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

        </activity>

其中幾個其餘的值的解釋以下佈局

"stateUnspecified"ui

軟鍵盤的狀態(是否它是隱藏或可見)沒有被指定。系統將選擇一個合適的狀態或依賴於主題的設置。code

這個是爲了軟件盤行爲默認的設置。xml

"stateUnchanged"ci

軟鍵盤被保持不管它上次是什麼狀態,是否可見或隱藏,當主窗口出如今前面時。it

"stateHidden"io

當用戶選擇該Activity時,軟鍵盤被隱藏——也就是,當用戶肯定導航到該Activity時,而不是返回到它因爲離開另外一個Activity。class

"stateAlwaysHidden"軟件

軟鍵盤老是被隱藏的,當該Activity主窗口獲取焦點時。

"stateVisible"

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

"stateAlwaysVisible"

當用戶選擇這個Activity時,軟鍵盤是可見的——也就是,也就是,當用戶肯定導航到該Activity時,而不是返回到它因爲離開另外一個Activity。

"adjustUnspecified"

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

"adjustResize"

該Activity主窗口老是被調整屏幕的大小以便留出軟鍵盤的空間

"adjustPan"

該Activity主窗口並不調整屏幕的大小以便留出軟鍵盤的空間。相反,當前窗口的內容將自動移動以便當前焦點從不被鍵盤覆蓋和用戶能老是看到輸入內容的部分。這個一般是不指望比調整大小,由於用戶可能關閉軟鍵盤以便得到與被覆蓋內容的交互操做。

相關文章
相關標籤/搜索