1.EditText点击设置调用数字键盘且可输入字母的方法
布局
<EditText
android:id="@+id/limit_edittext"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/dimen_basic4"
android:ellipsize="end"
android:hint="哈哈哈"
android:singleLine="true" />
代码
EditText editText = (EditText) findViewById(R.id.limit_edittext);
String digists = "0123456789abcdefghigklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
editText.setKeyListener(DigitsKeyListener.getInstance(digists));
2.在某个事件触发后自动弹出软键盘,如从语音切换到文字操作时,要自动弹出软键盘。具体方法如下:
et_comment.requestFocus();InputMethodManager imm = (InputMethodManager) et_comment.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.SHOW_FORCED);
如果从文字切换到语音(或者点击Button),需要隐藏软件盘
InputMethodManager mInputMethodManager =
(InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
mInputMethodManager.hideSoftInputFromWindow(mDemoBinding.editPhone.getWindowToken(),
0);
//mDemoBinding.editPhone 为EditText.getWindowToken();
3.android:ems="10"
设置TextView或者Edittext的宽度为10个字符的宽度。当设置该属性后,控件显示的长度就为10个字符的长度,超出的部分将不显示
4.android:imeOptions="actionSearch"
使用android:imeOptions="actionSearch"时必须加上android:inputType=" "这个属性否则没有效果
//监听软键盘的搜索按钮
private void initSearchInputListener() {
binding.get().input.setOnEditorActionListener((v, actionId, event) -> {
if (actionId == EditorInfo.IME_ACTION_SEARCH) { //布局文件中指定了input输入框为搜索类型。
doSearch(v);
return true;
}
return false;
});
binding.get().input.setOnKeyListener((v, keyCode, event) -> {
if ((event.getAction() == KeyEvent.ACTION_DOWN)
&& (keyCode == KeyEvent.KEYCODE_ENTER)) {
doSearch(v);
return true;
}
return false;
});
}
网友评论