在做Android TV開(kāi)發(fā)過(guò)程中很多時(shí)候要對(duì)軟鍵盤(pán)是否彈出、彈出位置炼彪、風(fēng)格等進(jìn)行限制和適配吐根。
以下內(nèi)容僅是個(gè)人開(kāi)發(fā)經(jīng)驗(yàn),歡迎指正~
- 一辐马、輸入法半屏顯示拷橘、定義右下角action:
EditText屬性:
android:imeOptions="actionDone|flagNoExtractUi|flagNoFullscreen"
android:imeOptions ://指定輸入法窗口中的回車鍵的功能,可選值為normal喜爷,actionUnspecified冗疮,actionNone,actionGo檩帐,actionSearch术幔,actionSend,actionNext湃密,actionDone诅挑。
flagNoExtractUi|flagNoFullscreen://實(shí)現(xiàn)輸入法半屏顯示
- 二四敞、代碼中控制軟鍵盤(pán)
//隱藏軟鍵盤(pán):
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
-
三、Android 手動(dòng)顯示和隱藏軟鍵盤(pán)
1拔妥、方法一(如果輸入法在窗口上已經(jīng)顯示忿危,則隱藏,反之則顯示)
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
2没龙、方法二(view為接受軟鍵盤(pán)輸入的視圖铺厨,SHOW_FORCED表示強(qiáng)制顯示)
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
//強(qiáng)制隱藏鍵盤(pán)
3、調(diào)用隱藏系統(tǒng)默認(rèn)的輸入法
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(WidgetSearchActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
(WidgetSearchActivity是當(dāng)前的Activity)
4兜畸、獲取輸入法打開(kāi)的狀態(tài)
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
boolean isOpen=imm.isActive();//isOpen若返回true努释,則表示輸入法打開(kāi)
謹(jǐn)以作為開(kāi)發(fā)記錄,如果有幫到您咬摇,記得點(diǎn)贊哦