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