首先,我知道关于android键盘的大约1000个其他问题……我知道我可以从窗口或控件中手动隐藏键盘,并传入任意数量的标志,这些标志用于控制键盘弹出的位置和时间。
基本上,我的目标是在我的应用程序中拥有可预测的键盘处理...也就是说,除非明确告知将此控件和弹出键盘作为焦点,否则它只会在用户点击文本编辑时弹出。
这个应用是广泛的,手动尝试隐藏键盘,甚至只是焦点控件(与明确隐藏每个编辑字段)。
我也意识到,当你不需要弹出式键盘时,我可以通过将焦点设置在非文本可编辑字段上来避免弹出式键盘,然而,这看起来更像是一种技巧。
所以我的问题是。有没有一种方法可以强制应用程序在新的对话框、片段等中不自动弹出键盘?应用范围?如果我希望此文本域将焦点放在新对话框上,我将手动处理这些情况。另外,有没有办法在之前的焦点控件消失时自动处理键盘消失?
我就是不明白那里的逻辑。如果我后退一步想一想这一点,我只想在我想要输入什么东西的时候弹出键盘。当新对话框打开时,键盘会立即弹出...这似乎是例外情况(可能有几次我想这样做)。
我不介意建立一个管理器或其他东西来跟踪键盘的状态,但是我不知道我是否可以获得所需的信息,使其以远程直观的方式有效地工作。
任何建议或想法都将不胜感激……因为我对这件事已经了结了。我可以向你保证,我已经花了很多时间来研究这个问题,并试图修复它。
注意:对于标题或敌意,我很抱歉...我已经和这个问题斗争了很长一段时间,通常对键盘的奇怪处理感到愤怒。
发布于 2011-07-29 01:08:55
所以我的问题是...有没有一种方法可以强制应用程序在新的对话框、片段等中不自动弹出键盘?应用范围?
编号:
但是你可以使用:
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);在每个活动上。
发布于 2011-07-29 01:15:01
好了,我想我明白你的要求了。看看这里的第二个答案:
Stop EditText from gaining focus at Activity startup
您可以通过将此android:windowSoftInputMode="stateHidden"添加到activities标签(<activity>)的开头来指定是否应在AndroidManifest.xml中隐藏软键盘
https://stackoverflow.com/questions/6862496
复制相似问题