美文网首页
Android 软键盘强制显示/隐藏

Android 软键盘强制显示/隐藏

作者: Mistletoeckc | 来源:发表于2017-04-12 14:05 被阅读0次

    一丶强制显示软键盘

    应用场景 : 

    比如我们从搜索框点击进入下一个界面,当返回的时候,有的需求是要把软键盘再次弹出,不用用户去点击搜索框,这样,我们就需要强制显示搜索框                                 

    解决方法: 

    强制显示软键盘,必须先让EditText重新获取焦点,本人实践之后发现并不行:可能因为要等待UI绘制完成,才能弹出软键盘,所以这里我们用的Timer类,加一个0.3s的定时器

    edittext.setFocusable(true);

    edittext.setFocusableInTouchMode(true);

    edittext.findFocus();

    edittext.requestFocus();//edittext是一个EditText控件

    //强制显示软键盘,必须先让EditText重新获取焦点,等待UI绘制完成,才能弹出软键盘,加一个0.3s的定时器

    Timer timer =newTimer();//设置定时器

    timer.schedule(newTimerTask() {

    @Override

    public voidrun() {//弹出软键盘的代码

    InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);

    imm.showSoftInput(searchInput, InputMethodManager.RESULT_SHOWN);

    imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,InputMethodManager.HIDE_IMPLICIT_ONLY);

    }

    },300);//设置300毫秒的时长

    二丶隐藏软键盘

    应用场景 : 

    这个场景就多了,当我们点击空白区域,或者滚动listview 都需要隐藏软键盘

    解决方法:

    InputMethodManager inputMethodManager =(InputMethodManager)LampProjectListActivity.this.getSystemService(Context.INPUT_METHOD_SERVICE);

    inputMethodManager.hideSoftInputFromWindow(searchView.getWindowToken(),0);

    相关文章

      网友评论

          本文标题:Android 软键盘强制显示/隐藏

          本文链接:https://www.haomeiwen.com/subject/ptdmattx.html