6

谁能解释一下为什么软键盘出现和消失的原因?

我有一个带有一堆不同控件的布局,主要是 EditTexts 和 Buttons。当我第一次显示该页面时,布局顶部的 EditText 具有焦点,软键盘覆盖了屏幕底部的 45%

我认为键盘在那里是因为 EditText 具有焦点,所以我决定在页面底部的按钮上通过 . . .

  butDone.setFocusableInTouchMode(true);
  bResult = butDone.requestFocus();

...就在setContentView()之后。这可以使按钮获得焦点。按钮获得了焦点,EditText 不再有焦点,但键盘仍然存在。最终我摆脱了键盘通过

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

但显然我关于 EditText 有焦点的理论是错误的。那么有人可以解释一下关于是什么让键盘出现的“规则”,或者这些规则的链接吗?提前致谢!

4

1 回答 1

0

默认情况下EditText,如果您没有在布局的 XML 中定义有关焦点的任何内容,则第一个将获得焦点。

检查答案以获取更多信息。如果您不希望键盘显示而不是关闭键盘,则应使用此解决方案。

于 2013-03-14T21:30:12.277 回答