概述
1. 常用属性
EditText
控件用于获取用户的输入。EditText
类继承TextView
类,能使用TextView
的所有常用属性。可参考Android TextView控件。
属性 | 说明 |
---|---|
android:hint | 设置EditText内容为空时显示的文本 |
android:textColorHint | 设置hint的字体颜色 |
android:editable | 设置是否可编辑 |
android:password | 设置是否是密码框,显示内容自动为星号 |
2. 输入限制
android:inputType
属性,设置虚拟键盘
值 | 说明 |
---|---|
none | 输入普通字符 |
text | 输入普通字符 |
textCapCharacters | 输入普通字符 |
textCapWords | 单词首字母大小 |
textCapSentences | 仅第一个字母大小 |
textAutoCorrect | 前两个自动完成 |
textAutoComplete | 前两个自动完成 |
textMultiLine | 多行输入 |
textImeMultiLine | 输入法多行(不一定支持) |
textNoSuggestions | 不提示 |
textUri | URI格式 |
textEmailAddress | 电子邮件地址格式 |
textEmailSubject | 邮件主题格式 |
textShortMessage | 短消息格式 |
textLongMessage | 长消息格式 |
textPersonName | 人名格式 |
textPostalAddress | 邮政格式 |
textPassword | 密码格式 |
textVisiblePassword | 密码可见格式 |
textWebEditText | 作为网页表单的文本格式 |
textFilter | 文本筛选格式 |
textPhonetic | 拼音输入格式 |
number | 数字格式 |
numberSigned | 有符号数字格式 |
numberDecimal | 可以带小数点的浮点格式 |
phone | 拨号键盘 |
datetime | 时间日期 |
date | 日期键盘 |
time | 时间键盘 |
android:digits
属性,指定要支持的字符
android:digits=“0123456789abcdefghijklmnopqrstuvwxyz”
android:numeric
属性,只支持数字
值 | 说明 |
---|---|
integer | 只能输入整数 |
decimal | 可以输入小数 |
signed | 有符号数字格式 |
3. 动态设置密码格式
setInputType(int)
方法。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); }
setTransformationMethod(TransformationMethod)
方法。if (show) { EditText.setTransformationMethod( HideReturnsTransformationMethod.getInstance()); } else { EditText.setTransformationMethod( PasswordTransformationMethod.getInstance()); }
4. 软键盘右下角按键
android:imeOptions
设置软键盘右下键按键。
值 | 说明 | 图标 |
---|---|---|
actionUnspecified | 对应常量EditorInfo.IME_ACTION_UNSPECIFIED | |
actionNone | 对应常量EditorInfo.IME_ACTION_NONE | |
actionGo | 对应常量EditorInfo.IME_ACTION_GO | |
actionSearch | 对应常量EditorInfo.IME_ACTION_SEARCH | |
actionSend | 对应常量EditorInfo.IME_ACTION_SEND | |
actionNext | 对应常量EditorInfo.IME_ACTION_NEXT | |
actionDone | 对应常量EditorInfo.IME_ACTION_DONE |
设置下面两个属性中的一个即可使这个属性生效
- 将
singleLine
设置为true
- 将
inputType
设置为text
监听软件盘按钮,返回true
来屏蔽系统默认操作。
EditText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_NEXT) {
return true;
}
return false;
}
});
5. 设置光标位置
EditText
的setSelection()
方法实际上是调用Selection.setSelection()
的方法实现的。
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
是光标结束的位置。 - 如果
count
大于0,start
是光标开始的位置。
- 如果
before
表示原有字符被删除的数量。count
表示输入字符的长度。添加时为1,删除时为0。
具体如下
- 添加一个字符,
start
为输入光标处,count
为1,before
为0。拷贝一个字符串,count
为字符串长度。 - 删除一个字符,
start
为结束光标处,count
为0,before
为1。剪切一个字符串,before
为字符串长度。 - 拷贝一个长度为3的字符串,粘贴覆盖2个字符串,
start
为输入光标处,count
为3,before
为2。
相关文章
Android TextView控件
Android Span应用
Android ParagraphStyle应用
Android EditText控件
Android 监听软键盘显示和隐藏
最后
以上就是飞快大碗为你收集整理的Android EditText控件1. 常用属性2. 输入限制3. 动态设置密码格式4. 软键盘右下角按键5. 设置光标位置6. TextWatcher监听器的全部内容,希望文章能够帮你解决Android EditText控件1. 常用属性2. 输入限制3. 动态设置密码格式4. 软键盘右下角按键5. 设置光标位置6. TextWatcher监听器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复