安卓-关于EditText的那些事......
16lz
2021-12-04
EditText 的一些不常用属性
属性 | 说明 |
---|---|
android:hint | text内容为空时显示的文本 |
android:textColorHint | text内容为空时显示的文本颜色 |
android:minLines | 设置文本最小的行数 |
android:maxLines | 设置文本最大的行数 |
android:drawableLeft | 左面的图标(其他方向相同) |
android:drawablePadding | 设置text与drawable(图片)的间隔,可设置为负数,单独使用没有效果。 |
android:digits | 设置允许输入哪些字符。如“1234567890” |
android:ellipsize | 设置当文字过长时,该控件该如何显示。 |
android:lines | 设置文本的行数 |
android:lineSpacingExtra | 设置行间距如“1.5” |
android:singleLine | 是否单行显示 |
android:textStyle | 字体风格 |
android:numeric | integer(整数)decimal(小数) |
android:inputType | 限制输入类型 number:数字 numberDecimal:小数点类型 date:日期类型 text:文本类型(默认值) phone:手机号 textPassword:密码 textVisiblePassword:可见密码 textUri:网址 |
EditText 的一些设置
1. 禁止EditText自动获取焦点,弹出键盘
//在父控件中添加属性 android:focusable="true" android:focusableInTouchMode="true"
2.软键盘的设置
//强制关闭软键盘 private void hideKeyBoard(){ InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(getWindow().getDecorView().getWindowToken(), 0); }// 改变键盘输入法的状态,如果已经弹出就关闭,如果关闭了就强制弹出 public static void chageInputState(Context context) { InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); } //强制显示输入法 private void showKeyBoard(View v) { InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(v, InputMethodManager.SHOW_FORCED);// 显示输入法 }//edit获取光标焦点 edittext.requestFocus(); edittext.findFocus();
3. 当EditText超过一定长度时,用省略号代替
android:singleLine="true" android:ellipsize="end"//start:省略号显示在开头//end:省略号显示在结尾//middle:省略号显示在中间//marquee:以跑马灯的方式显示(动画横向移动)
4. EditText的长度监听事件
edittext.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { Log.i("textbefore","内容改变之前调用:"+s); } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { Log.i("texton","内容改变,可以去告诉服务器:"+s); } @Override public void afterTextChanged(Editable s) { Log.i("textafter","内容改变之后调用:"+s); } });
5.EditText软键盘回车键变为搜索键
android:imeOptions="actionSearch"android:singleLine="true"//监听回车键方法 edittext.setOnKeyListener(new OnKeyListener() {@Overridepublic boolean onKey(View v, int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_ENTER) { // 隐藏软键盘(上面的方法中有) hideKeyBoard(); //进行搜索操作的方法,在该方法中可以加入mEditSearchUser的非空判断 search(); } return false; } }); // 搜索功能private void search() { String text= edittext.getText().toString().trim(); if (!TextUtils.isEmpty(searchContext)) { // 此处调用搜索方法 doSearch(text); } else { T.show(this, "请输入需要搜索的内容"); }}
更多相关文章
- Android设置颜色的几种方法
- Android(安卓)ListView 不显示分割条 分隔条
- android gravity和layout_gravity区别
- Android设置颜色的几种方法
- Android中TextView文字居中与垂直靠左居中
- Android(安卓)ListView中item之间的分割线
- 【Android】滚动条属性
- Android(安卓)layout文件中 '?' 的作用
- Android锁定横屏、竖屏和去标题栏、全屏