2012-02-11 76 views
2

从物理键盘切换到软件键盘。 大家好, 我正在开发一款应用程序,可以在Android 3.2平板电脑上运行。 我将一个物理键盘连接到平板电脑,然后软件键盘消失。 现在我需要在某些活动中使用软件键盘,但我不知道我该如何做到这一点。从物理键盘切换到软件键盘

我尝试不同的方法:

Android: show soft keyboard automatically when focus is on an EditText

http://dev.bostone.us/2009/11/04/android-show-and-hide-soft-keyboard-programmaticaly/#awp::2009/11/04/android-show-and-hide-soft-keyboard-programmaticaly/

http://plainoldstan.blogspot.com/2010/09/android-set-focus-and-show-soft.html

所有,如果物理键盘连接这些不工作。

有人知道我该如何实现这个目标?

感谢

回答

4

在设定疗法将是“语言&输入” >>键盘设置>>“输入法选择” >>“始终显示”

你刚刚提上键盘后插上键盘图标“选择”使用物理键盘“关闭

然后软键盘(屏幕上)将正常显示,直到您拔下键盘。

在我来说,我使用条形码扫描仪,而不是键盘,所以我需要做一些softkeyboard但是我用的是USB集线器同时连接条码扫描仪和数字键盘。

希望这会帮助你。

1

是的,当键盘被连接到设备上,通过默认软键盘被禁用。为了实现它,我们需要通过以关闭硬件键盘:

设置>语言&输入>选择输入法

选项的名称可以从设备的不同而不同设备。即使我们将其关闭,我们也可以使用扫描仪和软键盘。

也没有,有没有办法目前以编程方式实现这一目标。我们能做的最重要的是,当键盘/扫描仪连接检测和用户重定向到输入法选择窗口,在您的Application类中重写onConfigurationChanged方法:

@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(); 
    } 
}