从物理键盘切换到软键盘。 大家好, 我正在开发一个可以在Android 3.2平板电脑上运行的应用程序。 我将一个物理键盘连接到平板电脑,然后软件键盘消失。 现在我需要在一些活动中使用软件键盘,但我不知道如何做到这一点。
我尝试了不同的方法:
Android: show soft keyboard automatically when focus is on an EditText
http://plainoldstan.blogspot.com/2010/09/android-set-focus-and-show-soft.html
如果连接了物理键盘,所有这些都不起作用。
有人知道如何实现这一目标?
由于
答案 0 :(得分:4)
在设置下将是“语言和输入”>>键盘设置>> “输入法选择器”>> “永远显示”
插上键盘后,只需按下屏幕右下角的“键盘ICON”,选择“使用物理键盘”即可关闭
然后软键盘(在屏幕上)将正常显示,直到您拔下键盘。
在我的情况下,我使用条形码扫描仪而不是键盘,所以我需要一些软键盘,但我使用USB集线器并连接条形码扫描仪和数字键盘。
希望这会对你有所帮助。
答案 1 :(得分:2)
是的,当键盘连接到设备时,默认情况下禁用软键盘。要启用它,我们需要通过以下方式关闭硬件键盘:
设置>语言与输入>选择输入法
选项名称可能因设备而异。即使我们将其关闭,我们也可以将扫描仪与软键盘一起使用。
不,目前无法以编程方式完成此任务。我们所能做的最多就是检测连接键盘/扫描仪的时间并通过覆盖onConfigurationChanged
类中的Application
方法将用户重定向到输入法选择窗口:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if(newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) {
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE))
.showInputMethodPicker();
Toast.makeText(this, "Barcode Scanner detected. Please turn OFF Hardware/Physical keyboard to enable softkeyboard to function.", Toast.LENGTH_LONG).show();
}
}
答案 2 :(得分:0)