禁用软键盘
Disabling the soft keyboard
我需要禁用软键盘,只启用硬键盘,所以我创建了这种edittext,效果很好,但在某些htc手机上这种类型的edittext禁用了多行语句(不知道是怎么回事有效)。
public class NoImeEditText extends EditText {
public NoImeEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onCheckIsTextEditor() {
return false;
}
}
我使用这种代码的另一种方式,但它不起作用。
keyboardText.setShowSoftInputOnFocus(false);
InputMethodManager imm = (InputMethodManager)getMainActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm != null)
imm.hideSoftInputFromWindow(keyboardText.getWindowToken(), 0);
这可能有效,
@Override
protected void onCreate(Bundle savedInstanceState) {
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
这将隐藏软键盘。
我需要禁用软键盘,只启用硬键盘,所以我创建了这种edittext,效果很好,但在某些htc手机上这种类型的edittext禁用了多行语句(不知道是怎么回事有效)。
public class NoImeEditText extends EditText {
public NoImeEditText(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onCheckIsTextEditor() {
return false;
}
}
我使用这种代码的另一种方式,但它不起作用。
keyboardText.setShowSoftInputOnFocus(false);
InputMethodManager imm = (InputMethodManager)getMainActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm != null)
imm.hideSoftInputFromWindow(keyboardText.getWindowToken(), 0);
这可能有效,
@Override
protected void onCreate(Bundle savedInstanceState) {
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
这将隐藏软键盘。