Android 为什么会出现软键盘?
我正在使用Android模拟器测试我的第一个Android应用程序。虽然emulator窗口右侧有一个功能正常的硬键盘,但在Android 为什么会出现软键盘?,android,Android,我正在使用Android模拟器测试我的第一个Android应用程序。虽然emulator窗口右侧有一个功能正常的硬键盘,但在EditText控件中编辑时,软键盘会显示出来 我知道可以通过使用InputMethodManager的实例来隐藏软键盘,但是我想知道为什么软键盘会出现(当硬键盘可用时) 对我来说,作为一个用户,这种情况下的软键盘会让人分心,因此如果有用的话,我想把它扔掉这个问题是关于实际环境(即,当有硬键盘时是否使用软键盘,真实世界的设备是否与仿真器的行为类似)以及解决这个问题的一般策略
EditText
控件中编辑时,软键盘会显示出来
我知道可以通过使用InputMethodManager
的实例来隐藏软键盘,但是我想知道为什么软键盘会出现(当硬键盘可用时)
对我来说,作为一个用户,这种情况下的软键盘会让人分心,因此如果有用的话,我想把它扔掉这个问题是关于实际环境(即,当有硬键盘时是否使用软键盘,真实世界的设备是否与仿真器的行为类似)以及解决这个问题的一般策略
谢谢。我会更新任何有用的提示。在我的G1上,当硬键盘打开时,软键盘没有出现。但我不确定一款总是打开键盘的设备(如三星Galaxy PRO,如果我没弄错的话)是否也会这样做
由于emulator没有滑动键盘,我认为这种行为就是这样。在我的G1上,当硬键盘打开时,软键盘没有出现。但我不确定一款总是打开键盘的设备(如三星Galaxy PRO,如果我没弄错的话)是否也会这样做
由于仿真器没有滑动键盘,我认为这种行为就是如此。使用触摸屏设备+硬键盘,您可以灵活地使用两者。在大多数带有硬键盘的设备上,键盘必须拖出。只需轻触屏幕就容易多了。如果你想大量打字,你会不厌其烦地将键盘滑出
Android为您提供了为所有这些行为编程的灵活性。通过触摸屏设备+硬键盘,您可以灵活地使用两者。在大多数带有硬键盘的设备上,键盘必须拖出。只需轻触屏幕就容易多了。如果你想大量打字,你会不厌其烦地将键盘滑出
Android为您提供了为所有这些行为编程的灵活性。实际上,AVD仿真器有一个滑出式键盘。 AVD选项“键盘支持”指示模拟设备是否具有任何形式的物理键盘。选项“键盘盖支持”表示设备是否有可以打开或关闭的键盘(滑出或您拥有的)。 只要在使用这些选项设置的设备上实际“打开”和“关闭”键盘, 您需要切换方向,这通常是您使用真实滑出式键盘手机时所做的操作,例如原始Droid: 在emulator中,您可以使用
Ctrl+F11
/Ctrl+F12
或7
/9
(仅在数字键盘上,禁用NumLk
)来控制此方向更改。
通过检查值getResources().getConfiguration().hardKeyboardHidden==config.hardKeyboardHidden\u YES
至于软键盘是否出现,在我看来,处理这些事情取决于作为程序员的您。下面是一个可以在AVD中尝试的示例:
- 在“键盘支持”和“键盘盖支持”都设置为“是”的情况下设置仿真器
- 启动模拟器,然后打开Android内置的消息传递应用程序
- 单击其中一个文本框-应显示软键盘
- 用Ctrl+F12切换模拟器的方向-软键盘现在应该消失了
- 请注意,仿真器本身似乎存在问题,切换回纵向模式不会导致应用程序将自己重新绘制回纵向布局。但他们会切换回关闭键盘模式,这会产生一些奇怪的、横向的行为
有关捕获键盘打开/关闭事件的代码示例,请查看:实际上,AVD emulator有一个滑出式键盘。 AVD选项“键盘支持”指示模拟设备是否具有任何形式的物理键盘。选项“键盘盖支持”表示设备是否有可以打开或关闭的键盘(滑出或您拥有的)。 只要在使用这些选项设置的设备上实际“打开”和“关闭”键盘, 您需要切换方向,这通常是您使用真实滑出式键盘手机时所做的操作,例如原始Droid: 在emulator中,您可以使用
Ctrl+F11
/Ctrl+F12
或7
/9
(仅在数字键盘上,禁用NumLk
)来控制此方向更改。
通过检查值getResources().getConfiguration().hardKeyboardHidden==config.hardKeyboardHidden\u YES
至于软键盘是否出现,在我看来,处理这些事情取决于作为程序员的您。下面是一个可以在AVD中尝试的示例:
- 在“键盘支持”和“键盘盖支持”都设置为“是”的情况下设置仿真器
- 启动模拟器,然后打开Android内置的消息传递应用程序
- 单击其中一个文本框-应显示软键盘
- 用Ctrl+F12切换模拟器的方向-软键盘现在应该消失了
- 请注意,仿真器本身似乎存在问题,切换回纵向模式不会导致应用程序将自己重新绘制回纵向布局。但他们会切换回关闭键盘模式,这会产生一些奇怪的、横向的行为
有关捕获键盘打开/关闭事件的代码示例,请查看:在真实设备上测试后;在摩托罗拉的里程碑上,有一个滑动键盘,如果它打开软键B
Configuration config = getContext().getResources().getConfiguration();
int keyboardHidden=config.hardKeyboardHidden;
int keyboard=config.keyboard;