按钮单击隐藏键盘

时间:2016-03-11 13:06:42

标签: android

我有一个meme creator应用程序,我有两个文本字段和一个按钮,我想按下按钮隐藏键盘时,这可能吗?

5 个答案:

答案 0 :(得分:7)

public void dismissKeyboard(Activity activity) {
        InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
        if (null != activity.getCurrentFocus())
            imm.hideSoftInputFromWindow(activity.getCurrentFocus()
                .getApplicationWindowToken(), 0);
    }

活动必须传递给此方法,键盘将被解雇。

答案 1 :(得分:2)

您可以使用此行隐藏sof键盘

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

inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(),
                                     InputMethodManager.HIDE_NOT_ALWAYS);

将此信息放入onClick(查看视图)事件中。

您需要导入android.view.inputmethod.InputMethodManager;

单击按钮时键盘将隐藏。

答案 2 :(得分:0)

你想要的应该是什么。单击该按钮时,焦点将从文本字段更改为按钮,因此键盘将自动隐藏。

答案 3 :(得分:0)

EditText editText = (EditText)findViewById(R.id.textBox);

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

inputManager.hideSoftInputFromWindow(editText.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);

这应该在按钮点击事件中

答案 4 :(得分:0)

Android Kotlin

在按钮上单击以隐藏Kotlin中的键盘

fun dismissKeyboard(activity: Activity) {
    val imm = activity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
    if (null != activity.currentFocus) imm.hideSoftInputFromWindow(
        activity.currentFocus!!.applicationWindowToken, 0
    )
}

并在您的班级中像这样使用

button.setOnClickListener {
    dismissKeyboard(this)
}