点击EditText后隐藏键盘

问题描述 投票:0回答:4

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

android kotlin android-edittext
4个回答
1
投票

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

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

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


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
    }
});

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)

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


0
投票

我想请求有关仍在工作的项目的帮助,我有大约 8 个月的时间来尝试解决我的项目中的问题。

当我在文本框获取中输入详细信息时,我被困在登录表单中

com.busticetreservation:76f42aea:ORIGIN_CLIENT_SHOW_SOFT_INPUT原因SHOW_SOFT_INPUT的onRequestShow

showSoftInput() view=com.google.android.material.textfield.TextInputEditText{9d94570 VFED..CL。 .F.P..ID 0,0-945,147 #7f0a011e 应用程序:id/logPasswordID 援助=1073741825} 标志=0 原因=SHOW_SOFT_INPUT

显示(ime(),fromIme = true)

com.busticetreservation:5c864f7b:在 PHASE_CLIENT_APPLY_ANIMATION 取消

这些是我运行应用程序时出现的错误。请帮忙...

© www.soinside.com 2019 - 2024. All rights reserved.