wustguangh |分类标签:Android, Java, 移动应用 2016-02-19

Android开发如何隐藏/显示软键盘?

Ctrl+Enter直接提交

回答(2)

wustguangh 19级 2016-02-19 19:32:51

以下代码绑定了清除按钮事件,实现的功能是清除输入框的内容,并将输入焦点设置为对应的输入框,然后显示软键盘:

//添加清除按钮事件
btnClear = (ImageView)findViewById(R.id.btn_clear);
btnClear.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        inputEdit.setText("");
        inputEdit.requestFocus();
        //显示软键盘
        InputMethodManager inputManager = (InputMethodManager) v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
        inputManager.showSoftInput(inputEdit, 0);
        //Toast.makeText(MainActivity.this, "显示软键盘", Toast.LENGTH_SHORT).show();
    }
});


wustguangh 19级 2016-02-19 19:28:51

inputEdit.setOnFocusChangeListener(new android.view.View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
        //隐藏软键盘
        InputMethodManager inputManager = (InputMethodManager) v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
        if (!hasFocus){
            inputManager.hideSoftInputFromWindow(v.getApplicationWindowToken(), 0);
        }
    }
});

这段代码实现的功能是:焦点离开编辑框,则隐藏软键盘。

相关知识

相关文章更多