2012-02-11 78 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(); 
    } 
}