我是靠谱客的博主 飞快大碗,最近开发中收集的这篇文章主要介绍Android EditText控件1. 常用属性2. 输入限制3. 动态设置密码格式4. 软键盘右下角按键5. 设置光标位置6. TextWatcher监听器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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不提示
textUriURI格式
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. 设置光标位置

EditTextsetSelection()方法实际上是调用Selection.setSelection()的方法实现的。

  • setSelection(int index)将光标移至index处。
  • setSelection(int start, int stop) 选择从startstop处的文本。

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监听器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部