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() {@Overridepublic 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. Android EditText控件使用

    0 本文主要涉及 Android EditText控件的一些实际使用中的需求实现. 1 隐藏默认样式 去除框样式 设置属性 android:background="@null" 去 ...

  2. android edittext控件常用属性,Android_Android EditText常用属性功能汇总,本文总结分析了Android EditText常 - phpStudy...

    Android EditText常用属性功能汇总 本文总结分析了Android EditText常用属性.分享给大家供大家参考,具体如下: android:hint="请输入数字!" ...

  3. android EditText 控件中加入图片(非背景图片)

    效果如下: 只需要 利用EditTExt的 drawableLest 属性 <EditText android:id="@+id/Edit_user"android:layo ...

  4. Android学习--02(猜猜我的星座App源码+Android常用控件TextView+EditText+Button+ImangeView+DatePicker+App间通信+跳转页面)

    猜猜我的星座App 1 Android常用控件 1.1 TextView控件 1.1.1 简介 1.1.2属性 1.1.3 扩展属性 1.1.4 TextView的使用方法 1.1.5总结 1.2 E ...

  5. android什么控件能够输入多行文字,Android开发:文本控件详解——EditText(一)基本属性...

    一.简单实例: EditText输入的文字样式部分的属性,基本都是和TextView中的属性一样. 除此之外,EditText还有自己独有的属性. 二.基本属性: hint 输入框显示的提示文本 te ...

  6. EditText控件的基本使用(点击Button按钮,Toast提示EditText中的内容)

    EditText是程序用于和用户进行交互的另一个重要控件,它允许用户在空间里输入和编辑内容,并可以在程序中对这些内容进行处理.EditText的应用场景非常普遍,在进行发短信.发微博.聊QQ等操作时, ...

  7. Android -ui控件

    一:TextView控件 TextView --> View 1.创建TextView的两种方式: 1.1编写TextView类TextView tv = new TextView(this); ...

  8. Android AutoCompleteTextView控件实现类似百度搜索提示,限制输入数字长度

    Android AutoCompleteTextView 控件实现类似被搜索提示,效果如下 1.首先贴出布局代码 activity_main.xml: <?xml version="1 ...

  9. android控件使用大全,Android常见控件使用详解

    本文实例为大家分享了六种Android常见控件的使用方法,供大家参考,具体内容如下 1.TextView 主要用于界面上显示一段文本信息 2.Button 用于和用户交互的一个按钮控件 //为Butt ...

最新文章

  1. 如何实现显示超过10个字符就显示省略号?
  2. SFB 项目经验-03-共存迁移-Lync 2013-TO-SFB 2015-完成
  3. 线程安全与可重入函数的区别及联系
  4. 查linux还是unix,C、C++判断操作系统是Linux、windows还是Unix
  5. 手动删除3389连接记录
  6. 关于Git使用的一些心得
  7. 使用计算机管理文件教后反思,五年级信息技术下册《文件和文件夹》教学设计和教学反思...
  8. java 异步查询转同步多种实现方式:循环等待,CountDownLatch,Spring EventListener,超时处理和空循环性能优化...
  9. [style] visibility
  10. oracle10g 数据源管理器找不到应用程序,可能是程序没有正确安装问题解决
  11. 小程序和Android开发,微信小程序和Android开发的对比
  12. factory setup 序列号_麻烦哪位大侠帮我把改一下setup factory 中生成16位注册码的脚本,(在线等)急!!!...
  13. 任务管理三部曲 - 模板使用说明(超实用模板下载)
  14. 中传博士雷霄骅,致敬雷神,永远感谢雷神
  15. redis为什么采用跳表而不是红黑树详解
  16. 谷歌大规模机器学习:模型训练、特征工程和算法选择 (32PPT下载)
  17. 【TensorFlow基础函数】tf.concat的用法
  18. python调用大漠多线程_C# - 大漠多线程控制台
  19. 决策树实例-泰坦尼克幸存者预测
  20. WampServer图标为黄色,无法启动的解决办法及思路

热门文章

  1. 计算机老年学校讲义,广州老年干部大学为老年学员免费普及电脑与网络基础知识...
  2. 网络工程毕业设计 SSM中药店商城系统(源码+论文)
  3. PKI那些不为人知的秘密(吐血总结)
  4. 漂亮,Spring Boot + Vue 实现的网易云QQ音乐
  5. 关于echarts的雷达图比较详细的参数说明
  6. 弘玑Cyclone RPA助力东兴证券建立智能财务中心,以自动化为业务提质增效
  7. MYSQL的操作语句(二)
  8. 解决”dllhost进程消耗cpu 100%的问题
  9. python编写12306窗体抢票软件(一)
  10. “高歌上市”,瑞幸靠的是什么?