Android PopupWindow 隐藏软键盘的方法
今天,簡(jiǎn)單講講android里
PopupWindow 彈出在底部,被軟鍵盤遮擋的問(wèn)題。
之前,自己寫一個(gè)PopupWindow 彈出在底部,可是如果軟鍵盤顯示時(shí)彈出,軟鍵盤會(huì)遮擋PopupWindow ,在網(wǎng)上搜索了資料,終于解決了這個(gè)問(wèn)題。這里記錄一下。
1.解決軟鍵盤的彈出會(huì)擋住PopupWindow的問(wèn)題。
//設(shè)置彈出窗體需要軟鍵盤 commentWindow.setSoftInputMode(AddCommentPopupWindow.INPUT_METHOD_NEEDED);//設(shè)置模式,和Activity的一樣,覆蓋,調(diào)整大小。 commentWindow.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
這里對(duì)軟鍵盤彈出方式進(jìn)行了設(shè)置,在網(wǎng)上查的有的說(shuō)用下面一句,有的說(shuō)兩句都要有。我用的是兩句話。更多詳情請(qǐng)看:Android windowSoftInputMode屬性詳解(多謝博主分享)
這里簡(jiǎn)單講講一下,PopupWindow.INPUT_METHOD_NEEDED是設(shè)置PopupWindow 彈出時(shí)隱藏軟件盤,WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE這個(gè)屬性是設(shè)置軟鍵盤彈出時(shí),PopupWindow 主窗口會(huì)被調(diào)整大小,從而保證軟鍵盤顯示空間。這個(gè)可以解決activity里彈出軟鍵盤和PopupWindow 里的Edittext彈出軟鍵盤遮擋PopupWindow 的問(wèn)題。
如果只是activity的軟鍵盤遮擋PopupWindow ,那么在彈出PopupWindow 時(shí)可以手動(dòng)設(shè)置隱藏軟鍵盤。也很簡(jiǎn)單:
2.軟鍵盤彈出的方法
InputMethodManager imm = (InputMethodManager) getApplicationContext().getSystemService(Context.INPUT_METHOD_SERVICE); //這里給它設(shè)置了彈出的時(shí)間, imm.toggleSoftInput(1000, InputMethodManager.HIDE_NOT_ALWAYS);
這個(gè)我在網(wǎng)上查了很多,也嘗試了,只有這個(gè)方法成功了。不知道為什么,求大神解釋一下,謝謝。
3.軟鍵盤消失的方法
//參數(shù):1,自己的EditText。2,時(shí)間。 imm.hideSoftInputFromWindow(edt_AddComment_Pop_LRDA.getWindowToken(), 0);這個(gè)方法的第一個(gè)參數(shù)需要傳入自己的EditText對(duì)象。比如QQ空間的評(píng)論,當(dāng)點(diǎn)擊發(fā)送的時(shí)候調(diào)用此方法即可。
關(guān)于軟鍵盤的彈出與隱藏,我會(huì)專門再寫一篇博客,大家有興趣也可以自己去查找資料。
Android PopupWindow 隱藏軟鍵盤的方法就講完了。
就這么簡(jiǎn)單。
總結(jié)
以上是生活随笔為你收集整理的Android PopupWindow 隐藏软键盘的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: android 使用compareTo比
- 下一篇: android sina oauth2.