2014-03-24 80 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,启用输入法并将其设为默认值。