淺談關(guān)于android軟鍵盤彈出問題
問題:
今天公司項(xiàng)目處理一個(gè)軟鍵盤彈出的邏輯,要求點(diǎn)擊按鈕之后彈出軟鍵盤。
實(shí)現(xiàn)代碼如下:
//獲取焦點(diǎn) editText.setFocusable(true); editText.setFocusableInTouchMode(true); editText.requestFocus(); //彈出軟鍵盤 InputMethodManager imm = (InputMethodManager) editText.getContext( ).getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(editText,0);
在正常的一個(gè)activity按照上面是可以實(shí)現(xiàn)的,但是我遇到的問題是加載數(shù)據(jù)顯示之后點(diǎn)擊按鈕改變了布局的顯示狀況,然后再想彈出軟鍵盤,但是一直無法彈出鍵盤
通過查閱網(wǎng)上資料,給出的解析是在布局加載的過程中是無法彈出軟鍵盤的,所以需要適當(dāng)?shù)难舆t一下軟鍵盤的彈出
最終代碼如下:
//獲取焦點(diǎn)
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);
使用上面代碼就實(shí)現(xiàn)了強(qiáng)制彈出軟鍵盤的問題.
另附其他軟鍵盤常用方法:
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:其實(shí)通過系統(tǒng)服務(wù)取得的InputMethodManager 應(yīng)該需要判斷是否為null,這里偷懶了,大家記得判斷一下
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android自定義輸入法軟鍵盤
- android 軟鍵盤的POPUP布局的問題解決
- Android禁止EditText自動(dòng)彈出軟鍵盤的方法及遇到問題
- 解決Android軟鍵盤彈出覆蓋h5頁面輸入框問題
- 5種方法完美解決android軟鍵盤擋住輸入框方法詳解
- Android開發(fā)之超實(shí)用的系統(tǒng)管理工具類【SD卡,網(wǎng)絡(luò),uri,屏幕,網(wǎng)絡(luò),軟鍵盤,文本,進(jìn)程等】
- Android開發(fā)之彈出軟鍵盤工具類簡單示例
- Android開發(fā)中軟鍵盤的顯示和隱藏
- 詳解Android中獲取軟鍵盤狀態(tài)和軟鍵盤高度
- Android 實(shí)現(xiàn)數(shù)字九宮格軟鍵盤
相關(guān)文章
Android通過自定義View實(shí)現(xiàn)隨機(jī)驗(yàn)證碼
這篇文章主要介紹了Android通過自定義View實(shí)現(xiàn)隨機(jī)驗(yàn)證碼的相關(guān)資料,需要的朋友可以參考下2016-03-03
在Android中如何使用DataBinding詳解(Kotlin)
這篇文章主要給大家介紹了關(guān)于在Android中如何使用DataBinding(Kotlin)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
Android使用OpenGL和MediaCodec錄制功能
OpenGL是一個(gè)跨平臺(tái)的操作GPU的API,但OpenGL需要本地視窗系統(tǒng)進(jìn)行交互,這就需要一個(gè)中間控制層, EGL就是連接OpenGL ES和本地窗口系統(tǒng)的接口,引入EGL就是為了屏蔽不同平臺(tái)上的區(qū)別,這篇文章主要介紹了Android使用OpenGL和MediaCodec錄制功能,需要的朋友可以參考下2025-04-04
android開發(fā)教程之文本框加滾動(dòng)條scrollview
EditText與TextView加上滾動(dòng)條其實(shí)很簡單,只需要在文本輸入框或者文本顯示框上面加上滾動(dòng)條控件即可2014-02-02
Android UI實(shí)現(xiàn)廣告Banner輪播效果
這篇文章主要為大家詳細(xì)介紹了Android UI實(shí)現(xiàn)廣告Banner輪播效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12
Flutter框架實(shí)現(xiàn)Android拖動(dòng)到垃圾桶刪除效果
這篇文章主要介紹了Flutter框架實(shí)現(xiàn)Android拖動(dòng)到垃圾桶刪除效果,Flutter框架中的Draggable部件,用于支持用戶通過手勢拖動(dòng),它是基于手勢的一種方式,可以使用戶可以在屏幕上拖動(dòng)指定的部件,下面我們來詳細(xì)了解一下2023-12-12
使用ViewPager2實(shí)現(xiàn)簡易輪播圖效果
這篇文章主要為大家詳細(xì)介紹了使用ViewPager2實(shí)現(xiàn)簡易輪播圖效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-09-09

