我正在使用“日期和时间选择器”来处理会议日期字段,因此不需要键盘。单击字段后如何防止键盘显示?enter image description here
答案 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" />
以上属性可确保键盘不会出现!