目录

输入相关:

显示相关:

特殊功能

监听EditText内容变化的两种方式


EditText继承关系:EditText  < TextView < View

输入相关:

设置只接受某些字符
android:digits="123abc"
 
输入类型:integer只能输入整数 decimal只能输入小数
android:numeric="integer|decimal"  

只能输入数字
et.setInputType(InputType.TYPE_CLASS_NUMBER);

设置为电话号码的输入方式。
android:phoneNumber

限制输入长度为8 
android:maxLength="8" 

弹出数字/字母键盘
android:inputType="number"(弹出数字键盘)
android:inputType="textEmailAddress"(弹出字母键盘)

显示相关:

设置文本的最大显示行数
android:maxLines

设置文本的最小行数
android:minLines

设置行间距。
android:lineSpacingExtra

设置文本超出TextView的宽度的情况下,是否出现横拉条。
android:scrollHorizontally

以小点”.”显示文本
android:password

控件为空时显示的文字提示信息
android:hint="请输入"

提示文字颜色
android:textColorHint

被选中文字的底色
android:textColorHighlight

自动拼写帮助
android:autoText 

控制字与字之间的间距
android:textScaleX="1.5"

设置字型,normal, sans, serif, monospace
android:typeface="monospace"

设置单行输入
android:singleLine="true" 

当文字过长时,该控件该如何显示
android:ellipsize
”start”—?省略号显示在开头;
”end”——省略号显示在结尾;
”middle”—-省略号显示在中间;
”marquee” ——以跑马灯的方式显示(动画横向移动);

特殊功能

设置输入的类型,用于帮助输入法显示合适的键盘类型。
android:inputType

是否可编辑
android:editable
 
当文本为超链接时,点击跳转,可选值(none/web/email/phone/map/all)
android:autoLink=”all” 

光标显示或隐藏
android:cursorVisible

多行中指针在第一行第一位置
android:gray="top"

调整光标到最后一行
et.setSelection(et.length());

文字外观,这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。
android:textAppearance="?android:attr/textAppearanceLargeInverse"

指定getText()方式取得的文本类别。选项editable 类似于StringBuilder可追加字符,
也就是说getText后可调用append方法设置文本内容。spannable 则可在给定的字符区域使用样式。
android:bufferType

监听EditText内容变化的两种方式

A:监听 输入结束点击键盘确认键执行的 方法

view.setOnEditorActionListener(new OnEditorActionListener() {
        
        @Override
        public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
            Log.e("输入完点击确认执行该方法", "输入结束");
            return false;
        }
    });

B:动态跟随键盘输入的监听方式

view.addTextChangedListener(new TextWatcher() {
       
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
            // 输入前的监听
            Log.e("输入前确认执行该方法", "开始输入");
        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            // 输入的内容变化的监听
            Log.e("输入过程中执行该方法", "文字变化");
        }
        
        @Override
        public void afterTextChanged(Editable s) {
            // 输入后的监听
            Log.e("输入结束执行该方法", "输入结束");
            
        }
    });