应用程序的活动没有像textview,EditText,button这样的小部件。

我想通过编程实现这一目标。(运行时)
我可以使用以下代码成功显示系统键盘。

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);

     imm.showSoftInput(getWindow().getDecorView(), 0);


我想显示数字键盘而不是qwerty默认键盘。

有人能实现这个目标吗?

最佳答案

借助自定义视图,您可以实现此目的。通常,使用InputMethodManager可以显示键盘。该管理器将把输入委托给InputConnection,然后将输入委托给InputMethod。

因此,制作一个自定义视图,就像这样。

public class MyCustomView extends View {

    ..your methods here..

    @Override
    public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
        InputConnection inputConnection =  super.onCreateInputConnection(outAttrs);
        outAttrs.inputType |= InputType.TYPE_CLASS_NUMBER;
        return inputConnection;
    }
}


希望这可以帮助..

08-17 19:52