安卓-关于EditText的那些事......

EditText 的一些不常用属性

属性说明
android:hinttext内容为空时显示的文本
android:textColorHinttext内容为空时显示的文本颜色
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:numericinteger(整数)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);
            }
 });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xxpr_ybgg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值