如何强制键盘出现?

时间:2018-07-21 21:44:23

标签: java android keyboard

当用户单击editText时,会弹出键盘供用户键入。当用户单击按钮而不是editText时,可以显示键盘吗?能显示小键盘而不是普通键盘吗?

2 个答案:

答案 0 :(得分:4)

  

我可以使用户单击按钮时出现键盘吗?   而不是editText?

是的,您需要设置焦点并使用InputMethodManager

弹出键盘
button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // Focus the field.
            editText.requestFocus();
            // Show soft keyboard for the user to enter the value.
            InputMethodManager im = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
            im.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
        }
    });
  

数字键盘可以代替普通键盘显示吗?

是,使用输入类型

edittext的xml标记中

 <EditText...
     android:inputType="number"/>

或使用Java

editText.setInputType(InputType.TYPE_CLASS_NUMBER);

答案 1 :(得分:1)

public static void toggleKeyboard(Context context) {
    try {
        InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
    } catch (Exception e) {
        Log.e("On show keyboard error: %s", e.getMessage());
    }
}