Android windowSoftInputMode属性解析
簡介
android:windowSoftInputMode 是 Androidmanifest.xml 中 activity 的一個屬性,例如
<activity android:name=".ui.activity.main.QRVinActivity"android:configChanges="keyboardHidden|orientation"android:label="@string/app_name"android:launchMode="singleTop"android:screenOrientation="portrait"android:windowSoftInputMode="adjustPan|stateHidden" ></activity>它的設置必須是下面列表中的一個值,或一個”state…”值加一個”adjust…”值的組合。各個值之間用|分開,例如
android:windowSoftInputMode="stateHidden|adjustResize"作用
用于設置當前activity主窗口與軟鍵盤的交互模式,可以用來避免輸入法面板遮擋的問題。
這個屬性能影響兩件事情:
- 當有焦點產生時,軟鍵盤是隱藏還是顯示
- 是否減少活動主窗口大小以便騰出空間放軟鍵盤
可選值
windowSoftInputMode可選值有以下這些:
android:windowSoftInputMode=["stateUnspecified","stateUnchanged", "stateHidden","stateAlwaysHidden", "stateVisible","stateAlwaysVisible", "adjustUnspecified","adjustResize", "adjustPan"]各值含義
stateUnspecified:軟鍵盤的狀態并沒有指定,系統將選擇一個合適的狀態或依賴于主題的設置
stateUnchanged:當這個activity出現時,軟鍵盤將一直保持在上一個activity里的狀態,無論是隱藏還是顯示
stateHidden:用戶選擇activity時,軟鍵盤總是被隱藏
stateAlwaysHidden:當該Activity主窗口獲取焦點時,軟鍵盤也總是被隱藏的
stateVisible:軟鍵盤通常是可見的
stateAlwaysVisible:用戶選擇activity時,軟鍵盤總是顯示的狀態
adjustUnspecified:默認設置,通常由系統自行決定是隱藏還是顯示
adjustResize:該Activity總是調整屏幕的大小以便留出軟鍵盤的空間
adjustPan:當前窗口的內容將自動移動以便當前焦點從不被鍵盤覆蓋和用戶能總是看到輸入內容的部分
一般來說,用的比較多的還是
android:windowSoftInputMode="stateHidden|adjustResize"android:windowSoftInputMode="stateHidden|adjustPan"這兩對組合。
“adjustResize”在使用時布局會被軟鍵盤頂上去,體驗非常不好
“adjustPan”在使用時獲取焦點的控件下邊的View將會被軟鍵盤覆蓋
也就是說如果頁面被鍵盤頂上去,可以設置 android:windowSoftInputMode=”stateHidden|adjustPan” 設置不被頂上去。
總結
以上是生活随笔為你收集整理的Android windowSoftInputMode属性解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Listview 点击i
- 下一篇: Gson 字符串与对象相互转换工具类