Android EditText类
来源:互联网 发布:编曲软件 知乎 编辑:程序博客网 时间:2024/05/02 02:45
Android EditText类
EditText类用于获取用户的输入。
1、常用属性
EditText类继承TextView类,能使用TextView的所有常用属性。可参考Android TextView类。android:hint设置EditText内容为空时显示的文本
android:textColorHint设置hint的字体颜色
android:editable设置是否可编辑
android:password设置是否是密码框,显示内容自动为星号
2、输入限制
(1) android:inputType属性,设置虚拟键盘android:inputType="none" 输入普通字符
android:inputType="text" 输入普通字符
android:inputType="textCapCharacters" 输入普通字符
android:inputType="textCapWords" 单词首字母大小
android:inputType="textCapSentences" 仅第一个字母大小
android:inputType="textAutoCorrect" 前两个自动完成
android:inputType="textAutoComplete" 前两个自动完成
android:inputType="textMultiLine" 多行输入
android:inputType="textImeMultiLine" 输入法多行(不一定支持)
android:inputType="textNoSuggestions" 不提示
android:inputType="textUri" URI格式
android:inputType="textEmailAddress" 电子邮件地址格式
android:inputType="textEmailSubject" 邮件主题格式
android:inputType="textShortMessage" 短消息格式
android:inputType="textLongMessage" 长消息格式
android:inputType="textPersonName" 人名格式
android:inputType="textPostalAddress" 邮政格式
android:inputType="textPassword" 密码格式
android:inputType="textVisiblePassword" 密码可见格式
android:inputType="textWebEditText" 作为网页表单的文本格式
android:inputType="textFilter" 文本筛选格式
android:inputType="textPhonetic" 拼音输入格式
android:inputType="number" 数字格式
android:inputType="numberSigned" 有符号数字格式
android:inputType="numberDecimal" 可以带小数点的浮点格式
android:inputType="phone" 拨号键盘
android:inputType="datetime" 时间日期
android:inputType="date" 日期键盘
android:inputType="time" 时间键盘
(2) android:digits属性,指定要支持的字符
android:digits="0123456789abcdefghijklmnopqrstuvwxyz"
(3) android:numeric属性,只支持数字
android:numeric="integer" 只能输入整数
android:numeric="decimal" 可以输入小数
android:numeric="signed" 有符号数字格式
3、动态设置密码格式
(1) setInputType方法if (show) {EditText.setInputType(InputType.TYPE_CLASS_TEXT |InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);} else {EditText.setInputType(InputType.TYPE_CLASS_TEXT |InputType.TYPE_TEXT_VARIATION_PASSWORD);}(2) setTransformationMethod方法
if (show) {EditText.setTransformationMethod(HideReturnsTransformationMethod.getInstance());} else {EditText.setTransformationMethod(PasswordTransformationMethod.getInstance());}
4、软键盘右下角按键
android:imeOptions设置软键盘右下键按键android:imeOptions="actionUnspecified" 对于常量EditorInfo.IME_ACTION_UNSPECIFIED
android:imeOptions="actionNone" 对于常量EditorInfo.IME_ACTION_NONE
android:imeOptions="actionGo" 对于常量EditorInfo.IME_ACTION_GO
android:imeOptions="actionSearch" 对于常量EditorInfo.IME_ACTION_SEARCH
android:imeOptions="actionSend" 对于常量EditorInfo.IME_ACTION_SEND
android:imeOptions="actionNext" 对于常量EditorInfo.IME_ACTION_NEXT
android:imeOptions="actionDone" 对于常量EditorInfo.IME_ACTION_DONE
设置下面两个属性中的一个即可使这个属性生效
(1) 将singleLine设置为true
(2) 将inputType设置为text
EditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {@Overridepublic boolean onEditorAction(TextView v, int actionId, KeyEvent event) {if (actionId == EditorInfo.IME_ACTION_NEXT) {Toast.makeText(EditTextActivity.this, "Next Click", Toast.LENGTH_LONG).show();return true;}return false;}});
5、设置光标位置
setSelection(int index) 将光标移至index处。setSelection(int start, int stop) 选择从start到stop处的文本。
6、TextWatcher监听器
EditText调用addTextChangedListener(TextWatcher watcher)来添加监听器。public interface TextWatcher extends NoCopySpan { public void beforeTextChanged(CharSequence s, int start, int count, int after); public void onTextChanged(CharSequence s, int start, int before, int count); public void afterTextChanged(Editable s);}在onTextChanged方法中有4个参数。
s表示输入框中字符。
start表示光标的位置。如果count大于0,start是光标开始的位置,结束时为start加上count。否则start是光标结束的位置。
before表示原有字符被删除的数量。用delete删除时为1,而在添加字符时为0。
count表示输入字符的长度。添加时为1,删除时为0。
当进行拷贝、剪切、粘贴时,before和count为实际字符的长度。
- Android EditText类
- android-edittext
- android edittext
- android edittext
- Android:EditText
- android-----EditText
- android Edittext
- Android EditText
- android edittext
- android Edittext
- android EditText
- android editText
- Android EditText
- Edittext ---Android
- Android EditText
- Android EditText框输入清理工具类
- 【EditText】Android 中设置 EditText 光标颜色
- 【EditText】Android设置EditText不可编辑
- Android Button Example-onClickListener-Intent
- SDK Manager配置Http Proxy代理
- 程序性动画——触手的逆向运动学
- 在CentOS 7下安装Nginx
- python设计模式(策略模式)
- Android EditText类
- DevExpress控件GridControl列固定(冻结)
- 模板匹配(Match Template)
- Linux系统的分类
- Java语言-HashMap-HashMap的工作原理
- Android 字符串写入文件
- 如何组织您的测试团队实施探索式测试的?
- NOIP2016D2T3 愤怒的小鸟
- SpringMVC重要接口(四)ViewResolver