我看过几个问题并发现了几个帖子,但我无法弄清楚如何做到这一点。
下图显示了基本布局:
我创建了一个custom numpad并将其放在回购邮件上。
目前,当应用程序打开时,编辑文本具有焦点,但我用键盘输入的任何内容都将进入edittext框。这部分功能正常。
问题:当我再次触摸edittext时,弹出系统输入法及其巨大的键盘。如何完全阻止它弹出?或者,我可以告诉应用程序只使用我的键盘而不是系统键盘吗? (或者是编写自定义ime的唯一方法吗?)
我不能在清单中使用NULL类型输入,因为这样做会使编辑文本中的插入符号消失,而且如果有两个编辑文本,我不知道哪个有焦点。
任何帮助都将受到高度赞赏!
答案 0 :(得分:1)
你可以做一些事情:
以编程方式将其隐藏在整个应用中:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
将其附加到视图中隐藏:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(yourEditText.getWindowToken(), 0);
将EditText的输入类型设置为0:
EditText yourEditText=(EditText)findViewById(R.id.editTextConvertValue);
yourEditText.setInputType(0);