我想在android上编写自己的软件键盘。
我发现这篇博文:
http://android-developers.blogspot.ru/2009/04/creating-input-method.html
我还在android示例中找到了SoftwareKeyboard
个样本。
我编译了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 :(得分:0)
我害怕在设备上测试它,但我做到了。上面的代码适用于硬件设备,但不适用于模拟器。您必须安装apk,启用输入法并将其设置为默认值。