单击EditText后隐藏键盘

时间:2020-06-23 13:15:17

标签: android kotlin android-edittext

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

3 个答案:

答案 0 :(得分:0)

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)

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

答案 1 :(得分: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
    }
});

答案 2 :(得分:0)

有一种更好的以编程方式隐藏键盘的方法。

进入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" />

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