2011-08-27 214 views
0

我在我的Android項目上創建了我自己的鍵盤,它工作正常;這裏有一小段代碼:用自定義的鍵盤替換系統的軟鍵盤

mKeyboard = new Keyboard(this, R.layout .keyboard); 
mKeyboardView = (CustomKeyboardView) findViewById(R.id.KeyboardArea); 
mKeyboardView.setKeyboard(mKeyboard); 

我讓它出現在用戶觸摸我Activity的editText時。我的問題是,標準鍵盤仍然是工作,如果我按我的模擬器鍵盤的中央鈕......此外,儘管我把這個:

android:windowSoftInputMode="adjustResize" 

在我AndroidManifest文件,但它僅適用於標準鍵盤..那麼,是否可以用我的定製軟件完全替代系統的軟鍵盤呢?

回答

0

你只是這樣做....

int lastwidth; 

@Override 
    public void onInitializeInterface() { 

     if(mKeyboard!=null){ 
      int diswidth = getMaxWidth(); 
      if(lastwidth==diswidth){ 
       return; 
      } 
      lastwidth=diswidth; 
     } 

     alphakeyb = new Keyboard(this, R.layout.alphakey); 

    } 

    @Override 
    public View onCreateInputView() { 

     // inflatin keyboardview from xml file 
     keybview = (KeyboardView) getLayoutInflater().inflate(R.layout.customkeybview,null); 

     // setting listner on keyboardview 
     keybview.setOnKeyboardActionListener(this); 
     // setting keyboard to keyboardview 
     keybview.setKeyboard(alphakeyb); 

     return keybview; 

    } 

您也可以參考在API演示