android 软键盘

2018-06-09  本文已影响0人  清风笑_e92c

View view = getWindow().peekDecorView();

if (view !=null) {

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

隐藏软键盘  

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

显示软键盘 

inputMethodManager.showSoftInput(view,InputMethodManager.SHOW_FORCED); 

}

上面的方法又是不管用,原因暂时没找到,可以用这个:

显示键盘

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);

隐藏键盘

InputMethodManager imm = (InputMethodManager) mContext .getSystemService(Context.INPUT_METHOD_SERVICE);imm.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);

软键盘按键

actionNone : 回车键,按下后光标到下一行

actionGo : Go,

actionSearch : 放大镜

actionSend : Send

actionNext : Next

actionDone : Done,确定/完成,隐藏软键盘,即使不是最后一个文本输入框

android:imeoptions="actionSearch"

EditText.setOnEditorActionListener设置监听

@Override

    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {

        boolean isOK = true;

        switch (actionId) {

            case EditorInfo.IME_ACTION_NONE:

                Toast.makeText(mContext, "点击-->NONE", Toast.LENGTH_SHORT).show();

                break;

            case EditorInfo.IME_ACTION_GO:

                Toast.makeText(mContext, "点击-->GO", Toast.LENGTH_SHORT).show();

                break;

            case EditorInfo.IME_ACTION_SEARCH:

                Toast.makeText(mContext, "点击-->SEARCH", Toast.LENGTH_SHORT).show();

                break;

            case EditorInfo.IME_ACTION_SEND:

                Toast.makeText(mContext, "点击-->SEND", Toast.LENGTH_SHORT).show();

                break;

            case EditorInfo.IME_ACTION_NEXT:

                Toast.makeText(mContext, "点击-->NEXT", Toast.LENGTH_SHORT).show();

                break;

            default:

                isOK = false;

                break;

        }

上一篇下一篇

猜你喜欢

热点阅读