淺談關于android軟鍵盤彈出問題
問題:
今天公司項目處理一個軟鍵盤彈出的邏輯,要求點擊按鈕之后彈出軟鍵盤。
實現(xiàn)代碼如下:
//獲取焦點 editText.setFocusable(true); editText.setFocusableInTouchMode(true); editText.requestFocus(); //彈出軟鍵盤 InputMethodManager imm = (InputMethodManager) editText.getContext( ).getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(editText,0);
在正常的一個activity按照上面是可以實現(xiàn)的,但是我遇到的問題是加載數(shù)據(jù)顯示之后點擊按鈕改變了布局的顯示狀況,然后再想彈出軟鍵盤,但是一直無法彈出鍵盤
通過查閱網(wǎng)上資料,給出的解析是在布局加載的過程中是無法彈出軟鍵盤的,所以需要適當?shù)难舆t一下軟鍵盤的彈出
最終代碼如下:
//獲取焦點 editText.setFocusable(true); editText.setFocusableInTouchMode(true); editText.requestFocus(); //延遲彈出軟鍵盤 Timer timer = new Timer(); timer.schedule(new TimerTask(){ @Override public void run() { InputMethodManager imm = (InputMethodManager) editText.getContext( ).getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(editText,InputMethodManager.SHOW_FORCED); } }, 300);
使用上面代碼就實現(xiàn)了強制彈出軟鍵盤的問題.
另附其他軟鍵盤常用方法:
1.如果軟鍵盤已彈出則隱藏,反之彈出.
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
2.隱藏軟鍵盤
InputMethodManager imm = ( InputMethodManager ) v.getContext( ).getSystemService( Context.INPUT_METHOD_SERVICE ); if ( imm.isActive( ) ) { imm.hideSoftInputFromWindow( v.getApplicationWindowToken( ) , 0 );
3.顯示軟鍵盤
InputMethodManager imm = ( InputMethodManager ) v.getContext( ).getSystemService( Context.INPUT_METHOD_SERVICE ); imm.showSoftInput(v,InputMethodManager.SHOW_FORCED);
ps:其實通過系統(tǒng)服務取得的InputMethodManager 應該需要判斷是否為null,這里偷懶了,大家記得判斷一下
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Android自定義輸入法軟鍵盤
- android 軟鍵盤的POPUP布局的問題解決
- Android禁止EditText自動彈出軟鍵盤的方法及遇到問題
- 解決Android軟鍵盤彈出覆蓋h5頁面輸入框問題
- 5種方法完美解決android軟鍵盤擋住輸入框方法詳解
- Android開發(fā)之超實用的系統(tǒng)管理工具類【SD卡,網(wǎng)絡,uri,屏幕,網(wǎng)絡,軟鍵盤,文本,進程等】
- Android開發(fā)之彈出軟鍵盤工具類簡單示例
- Android開發(fā)中軟鍵盤的顯示和隱藏
- 詳解Android中獲取軟鍵盤狀態(tài)和軟鍵盤高度
- Android 實現(xiàn)數(shù)字九宮格軟鍵盤
相關文章
Android5.1 取消錄制屏幕跳出的權(quán)限對話框問題
這篇文章主要介紹了Android5.1 取消錄制屏幕跳出的權(quán)限對話框問題,需要的朋友可以參考下2017-04-04Android實現(xiàn)個人資料頁面頭像背景模糊顯示包(狀態(tài)欄)
這篇文章主要介紹了Android實現(xiàn)個人資料頁面頭像背景模糊顯示包括狀態(tài)欄,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-03-03Android之自定義實現(xiàn)BaseAdapter(通用適配器一)
這篇文章主要為大家詳細介紹了Android之自定義實現(xiàn)BaseAdapter通用適配器第一篇,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-08-08Android自定義鍵盤的實現(xiàn)(數(shù)字鍵盤和字母鍵盤)
本篇文章主要介紹了Android自定義鍵盤的實現(xiàn)(數(shù)字鍵盤和字母鍵盤),具有一定的參考價值,有興趣的可以了解一下2017-08-08Flutter 封裝一個 Banner 輪播圖效果的實例代碼
這篇文章主要介紹了Flutter 封裝一個 Banner 輪播圖效果,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07android自定義按鈕示例(重寫imagebutton控件實現(xiàn)圖片按鈕)
由于項目這種類型的圖片按鈕比較多,所以重寫了ImageButton類,現(xiàn)在把代碼分享給大家,需要的朋友可以參考下2014-03-03