2014-03-24 76 views
0

我想在android上編寫我自己的軟件鍵盤。 我發現了這個博客文章: http://android-developers.blogspot.ru/2009/04/creating-input-method.html 我還發現在Android樣本中的SoftwareKeyboard示例。android上的自定義鍵盤?

我編譯apk並將其安裝在模擬器中。我在「設置/語言&鍵盤」中選擇了我的鍵盤,但是當我將任何可編輯控件集中在其他應用程序中時,我的軟件鍵盤未顯示。我希望看到帶有文字的按鈕「嘿!」代替鍵盤:

/** 
* 
*/ 
public class KeyboardsService extends InputMethodService { 

    private View view; 

    @Override 
    public View onCreateInputView() { 
     Button button = new Button(this); 
     button.setLayoutParams(new LinearLayout.LayoutParams(
       LinearLayout.LayoutParams.FILL_PARENT, 
       200 // 200 px 
     )); 
     button.setText("hey!"); 
     view = button; 

     button.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       // send "Enter" on click 
       sendDownUpKeyEvents(KeyEvent.KEYCODE_ENTER); 
      } 
     }); 

     return view; 
    } 
} 

那麼,怎麼了?與SampleKeyboard源相同的問題 - 它列在軟件鍵盤列表中,但未顯示。我可以看到默認鍵盤被選中並且不可用。這是原因嗎?

回答

0

我不敢在設備上測試它,但我做到了。上面的代碼適用於硬件設備,但不適用於仿真器。您必須安裝apk,啓用輸入法並將其設爲默認值。