Android上的自定义键盘?

时间:2014-03-24 16:25:33

标签: android keyboard

我想在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来源存在同样的问题 - 它列在软件键盘列表中但未显示。我可以看到默认键盘被选中但不可用。这是什么原因?

1 个答案:

答案 0 :(得分:0)

我害怕在设备上测试它,但我做到了。上面的代码适用于硬件设备,但不适用于模拟器。您必须安装apk,启用输入法并将其设置为默认值。