Android軟鍵盤顯示模式及打開和關閉方式(推薦)
Android軟鍵盤顯示模式:
Android定義了一個屬性,名字為windowSoftInputMode, 用它可以讓程序可以控制活動主窗口調(diào)整的方式。我們可以在AndroidManifet.xml中對Activity進行設置。如:android:windowSoftInputMode="stateUnchanged|adjustPan"
該屬性可選的值有兩部分,一部分為軟鍵盤的狀態(tài)控制,另一部分是活動主窗口的調(diào)整。前一部分本文不做討論,請讀者自行查閱android文檔。
模式一,壓縮模式
windowSoftInputMode的值如果設置為adjustResize,那么該Activity主窗口總是被調(diào)整大小以便留出軟鍵盤的空間。
我們通過一段代碼來測試一下,當我們設置了該屬性后,彈出輸入法時,系統(tǒng)做了什么。
模式二,平移模式
windowSoftInputMode的值如果設置為adjustPan,那么該Activity主窗口并不調(diào)整屏幕的大小以便留出軟鍵盤的空間。相反,當前窗口的內(nèi)容將自動移動以便當前焦點從不被鍵盤覆蓋和用戶能總是看到輸入內(nèi)容的部分。這個通常是不期望比調(diào)整大小,因為用戶可能關閉軟鍵盤以便獲得與被覆蓋內(nèi)容的交互操作。
上面的例子中,我們將AndroidManifest.xml的屬性進行更改:android: windowSoftInputMode = "adjustPan"
模式三 自動模式
當屬性windowSoftInputMode被設置為adjustUspecified時,它不被指定是否該Activity主窗口調(diào)整大小以便留出軟鍵盤的空間,或是否窗口上的內(nèi)容得到屏幕上當前的焦點是可見的。系統(tǒng)將自動選擇這些模式中一種主要依賴于是否窗口的內(nèi)容有任何布局視圖能夠滾動他們的內(nèi)容。如果有這樣的一個視圖,這個窗口將調(diào)整大小,這樣的假設可以使?jié)L動窗口的內(nèi)容在一個較小的區(qū)域中可見的。這個是主窗口默認的行為設置。
也就是說,系統(tǒng)自動決定是采用平移模式還是壓縮模式,決定因素在于內(nèi)容是否可以滾動。
Android軟鍵盤打開和關閉方式:
切換軟鍵盤:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); //得到InputMethodManager的實例 if (imm.isActive()) { //如果開啟 imm.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT, InputMethodManager.HIDE_NOT_ALWAYS); //關閉軟鍵盤,開啟方法相同,這個方法是切換開啟與關閉狀態(tài)的 }
關閉軟鍵盤
if(getCurrentFocus()!=null) { ((InputMethodManager) getSystemService(INPUT_METHOD_SERVICE)) .hideSoftInputFromWindow(getCurrentFocus() .getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); }
以上所述是小編給大家介紹的Android軟鍵盤顯示模式及打開和關閉方式(推薦),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
Android實現(xiàn)ImageView圖片縮放和拖動
這篇文章主要為大家詳細介紹了Android實現(xiàn)ImageView圖片縮放和拖動的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11Android中點擊按鈕啟動另一個Activity及Activity之間傳值問題
這篇文章主要介紹了Android中點擊按鈕啟動另一個Activity及Activity之間傳值問題,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2020-01-01Android 中 SwipeLayout一個展示條目底層菜單的側滑控件源碼解析
這篇文章主要介紹了Android 中 SwipeLayout一個展示條目底層菜單的側滑控件源碼解析,需要的朋友可以參考下2016-12-12Android實現(xiàn)新增及編輯聯(lián)系人的方法
這篇文章主要介紹了Android實現(xiàn)新增及編輯聯(lián)系人的方法,是Android應用開發(fā)常見的功能,需要的朋友可以參考下2014-07-07Android開發(fā)使用json實現(xiàn)服務器與客戶端數(shù)據(jù)的交互功能示例
這篇文章主要介紹了Android開發(fā)使用json實現(xiàn)服務器與客戶端數(shù)據(jù)的交互功能,結合具體實例形式分析了Android使用json格式數(shù)據(jù)在服務器與客戶端傳遞實現(xiàn)數(shù)據(jù)庫查詢功能的步驟與相關操作技巧,需要的朋友可以參考下2017-10-10