小编Gli*_*gor的帖子

如何为特定活动禁用Android Soft Keyboard?

我有一个EditText活动,我只需要输入数字.

现在,我已经将EditText的输入类型定义为仅限数字,并为我的用户绘制了一个漂亮的键盘,但是我还需要确保在用户点击时不会弹出软键盘EditText.

我试图通过添加隐藏键盘通过清单

android:windowSoftInputMode="stateAlwaysHidden"
Run Code Online (Sandbox Code Playgroud)

在我的Manifest中针对特定活动,但这对我不起作用,因为只要用户点击EditText,键盘就会再次出现.

我尝试过以编程方式执行相同操作

activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Run Code Online (Sandbox Code Playgroud)

但这也不起作用.用户单击EditText时会出现键盘.

唯一有效的方法是将EditType的InputType设置为null,如下所示:

EditText.setInputType(InputType.TYPE_NULL);
Run Code Online (Sandbox Code Playgroud)

但我不能使用它,因为它允许键盘连接到他们设备的用户在EditText字段中输入字母和其他符号,而我希望每个人都专门使用键盘在字段中输入数据.

我还应该提一下,我目前正在Android 2.1下测试我的应用程序,但我希望我的解决方案适用于所有版本.任何帮助,将不胜感激.提前致谢.

keyboard android soft-keyboard android-edittext

10
推荐指数
2
解决办法
3万
查看次数