1.EditText點擊設(shè)置調(diào)用數(shù)字鍵盤且可輸入字母的方法
布局
<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.在某個事件觸發(fā)后自動彈出軟鍵盤,如從語音切換到文字操作時风范,要自動彈出軟鍵盤。具體方法如下:
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"
設(shè)置TextView或者Edittext的寬度為10個字符的寬度躬柬。當(dāng)設(shè)置該屬性后昧旨,控件顯示的長度就為10個字符的長度拾给,超出的部分將不顯示
4.android:imeOptions="actionSearch"
使用android:imeOptions="actionSearch"時必須加上android:inputType=" "這個屬性否則沒有效果
//監(jiān)聽軟鍵盤的搜索按鈕
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;
});
}