单击 EditText 后隐藏键盘

Hide the keyboard after clicking on the EditText

我使用日期和时间选择器来处理会议日期字段,因此不需要键盘。如何防止点击字段后键盘显示?enter image description here

val activity: Activity = this //if you are in the Activity
val imm = activity.getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager
            var view = activity.currentFocus
            if (view == null) {
                view = View(activity)
            }
            imm.hideSoftInputFromWindow(view.windowToken, 0)

这段代码应该隐藏您的虚拟键盘。只需将其放入方法中并调用即可。 :)

您可以在xml

中使用属性android:focusableInTouchMode="false"
<com.google.android.material.textfield.TextInputEditText
    android:id="@+id/editText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:focusableInTouchMode="false"
    android:inputType="text|date"/>

并在代码中为该视图添加点击监听器

editText.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
       //show date picker
    }
});

有更好的编程隐藏键盘的方法。

进入xml并添加以下属性android:focusable="false"

例如

<EditText
    android:id="@+id/time_date_et"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:fontFamily="@font/prompt_light"
    android:focusable="false"
    android:textSize="17sp" />

以上属性确保键盘不会出现!