当用户单击editText时,会弹出键盘供用户键入。当用户单击按钮而不是editText时,可以显示键盘吗?能显示小键盘而不是普通键盘吗?
答案 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());
}
}