Android 输入框输完键盘隐藏

在Android开发中,经常会遇到需要在输入框输入完内容后隐藏键盘的需求。本文将介绍如何在Android应用中实现输入框输入完内容后隐藏键盘的功能,并给出相应的代码示例。

1. 原理介绍

在Android中,隐藏键盘的方法是通过InputMethodManager类来实现的。当输入框输入完内容后,我们可以调用InputMethodManager的hideSoftInputFromWindow方法来隐藏键盘。这个方法接收两个参数,第一个参数是输入框的窗口token,第二个参数是隐藏键盘的标志。

2. 代码示例

接下来我们通过一个简单的示例来演示如何在输入框输入完内容后隐藏键盘。首先,我们需要在布局文件中添加一个EditText和一个Button:

<EditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

<Button
    android:id="@+id/button"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hide Keyboard"/>

然后,在Activity中获取EditText和Button的实例,并设置Button的点击事件,在点击事件中隐藏键盘:

EditText editText = findViewById(R.id.editText);
Button button = findViewById(R.id.button);

button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
    }
});

3. 类图

下面是一个简单的类图,展示了EditText、Button、InputMethodManager之间的关系:

classDiagram
    class EditText
    class Button
    class InputMethodManager
    EditText <|-- Button
    EditText <-- InputMethodManager

4. 总结

通过上面的代码示例,我们可以看到如何在Android应用中实现输入框输入完内容后隐藏键盘的功能。使用InputMethodManager的hideSoftInputFromWindow方法可以很方便地实现这一功能。希望本文对你有所帮助,谢谢阅读!