上个星期看公司一个项目中灵活用到edittext 属性inputtype。inputtype属性不仅可以再xml里面定义。还可以在activity设置的。项目应用场景是这样。一个页面需要很多的对话框输入,包括需要字符型,数字型,或者密码输入。但是只做了一个弹出对话框,然后不同调用这个对话框,用唯一码识别那个按键调用弹出。那么弹出来对话框(输入类型)要灵活设置。就需要activity传递inputtype这个属性值进行设置。因为这个对话框都只调用了一个xml。这是一个场景吧。

一、先说说xml里面的调用,这个都不陌生的说。

       <EditTextandroid:id="@+id/edittext"android:layout_width="wrap_content"android:layout_height="wrap_content"android:inputType="number" />

这里输入是数字吧。

二、activity里的调用。或者其他class。

EditText testEditText = (EditText) findViewById(R.id.edittext);int inputType = InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_NORMAL;testEditText.setInputType(inputType);

这个inputType值是不会很好用啊。灵活吧!
那我贴图看一下源码中InputType属性类吧。如下图,

这上面贴就是inputype全部属性了,这些多看看,都是英文单词。

三、顺便介绍一下xml的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” 网址
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” 时间键盘

四、介绍edittext其他常用属性,网络上收集的。

android:layout_gravity="center_vertical" 设置控件显示的位置:默认top,这里居中显示,还有bottom android:hint="请输入数字!"设置显示在空间上的提示信息

android:numeric="integer" 设置只能输入整数,如果是小数则是:decimal
android:singleLine="true" 设置单行输入,一旦设置为true,则文字不会自动换行。
android:password="true" 设置只能输入密码
android:textColor = "#ff8c00" 字体颜色
android:textStyle="bold" 字体,bold, italic, bolditalic

android:textSize="20dip" 大小
android:capitalize = "characters" 以大写字母写
android:textAlign="center" EditText没有这个属性,但TextView有 android:textColorHighlight="#cccccc" 被选中文字的底色,默认为蓝色
android:textColorHint="#ffff00" 设置提示信息文字的颜色,默认为灰色

android:textScaleX="1.5" 控制字与字之间的间距
android:typeface="monospace" 字型,normal, sans, serif, monospace

android:background="@null" 空间背景,这里没有,指透明
android:layout_weight="1" 权重,控制控件之间的地位,在控制控件显示的大小时蛮有用的。
android:textAppearance="?android:attr/textAppearanceLargeInverse" 文字外观,这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。不知道这样理解对不对?

通过EditText的layout xml文件中的相关属性来实现:
1. 密码框属性 android:password="true" 这条可以让EditText显示的内容自动为星号,输入时内容会在1秒内变成*字样。
2. 纯数字 android:numeric="true" 这条可以让输入法自动变为数字输入键盘,同时仅允许0-9的数字输入
3. 仅允许 android:capitalize="cwj1987" 这样仅允许接受输入cwj1987,一般用于密码验证 下面是一些扩展的风格属性
android:editable="false" 设置EditText不可编辑
android:singleLine="true" 强制输入的内容在单行
android:ellipsize="end" 自动隐藏尾部溢出数据,一般用于文字内容过长一行无法全部显示时

虽然这些都是很简单,但也很常用。细节需要注意,才能做到极致。

作者:AFinalStone
链接:https://www.jianshu.com/p/4e238eb1deb2
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

Android edittext 属性inputtype详解相关推荐

  1. 关于基本控件EditText属性大全详解

    1.EditText输入的文字为密码形式的设置 (1)通过.xml里设置: 把该EditText设为:android:password="true" // 以".&quo ...

  2. Android EditText 属性详解

    Android EditText 属性详解 EditText,本文包含大部分开发中用到的属性. Android开发之EditText属性详解 1.EditText输入的文字为密码形式的设置 (1)通过 ...

  3. Android 属性动画 详解

    Android 属性动画 详解 Android动画类型: View Animation(即所谓的Tween Animation补间动画):View Animation相当简单,不过只能支持简单的缩放. ...

  4. android 按键用户点击事件,Android按键事件处理过程详解

    Android按键事件处理过程详解 (2013-09-26 14:05:19) 标签: it 在Android系统中,存在多种界面事件,如点击事件.触摸事件.焦点事件和菜单事件等,在这些界面事件发生时 ...

  5. Android应用坐标系统全面详解

    Android应用坐标系统全面详解 原文链接:CSDN@工匠若水,http://blog.csdn.net/yanbober/article/details/50419117 1. 背景 去年有很多人 ...

  6. Android自定义属性,format详解

    1. reference:参考某一资源ID. (1)属性定义: <declare-styleable name="名称"><attr name="bac ...

  7. Android 系统(200)---Android build.prop参数详解

    Android build.prop参数详解 前言 build.prop是Android系统中的一个重要的属性文件,它记录了Android系统运行的很多配置信息,当程序运行时需要某种系统状态时,会到该 ...

  8. Android 系统(95)---Android build.prop参数详解

    Android build.prop参数详解 前言 build.prop是Android系统中的一个重要的属性文件,它记录了Android系统运行的很多配置信息,当程序运行时需要某种系统状态时,会到该 ...

  9. android Camera2 API使用详解

    原文:android Camera2 API使用详解 由于最近需要使用相机拍照等功能,鉴于老旧的相机API问题多多,而且新的设备都是基于安卓5.0以上的,于是本人决定研究一下安卓5.0新引入的Came ...

最新文章

  1. bootstap 表格自动换行 截取超长数据
  2. python运行文件后缀_Python程序存储成以.py为扩展名的程序文件用Python解释器执行。(4.5分)_学小易找答案...
  3. 【ubuntu】ubuntu14.04上安装搜狗输入法
  4. 第二章《深入C#数据类型》项目经理评分
  5. c语言实现感知器算法,感知器算法(c语言版).doc
  6. SMTP Error: Could not connect to SMTP host.
  7. Nginx 学习笔记(十)介绍HTTP / 2服务器推送(译)
  8. Mac安装apktool/dex2jar/jd-gui逆向工具
  9. oracle中控制字段不为null
  10. c51语言跑马灯键盘程序,单片机按键控制跑马灯程序
  11. 【Project】基于LD3320 的智能语音控制系统
  12. oracle imp仅导入数据
  13. 【原创纯手打】VUE徒手搭各类脚手架详解
  14. linux查找文件夹命令
  15. [4G5G专题-124]:5G培训部署篇-2-主要信令流程
  16. 使用theano出错问题
  17. 分部积分出现积回去的情况
  18. Dubbo的Api+Provider+Customer示例(IDEA+Maven+Springboot+dubbo) 项目结构
  19. 拉格朗日粒子扩散模式FLEXPART,在大气污染溯源中的应用
  20. 数据分析 -- 用户流失

热门文章

  1. vim java 注释_centOS7 下的vim java补全
  2. nginx mysql占用率高_nginx/mysql查看内存占用
  3. ff14服务器维护怎么办,《FF14》8月20日维护到几点 最终幻想14服务器迁移维护公告...
  4. stm32 内部sram大小_STM32第三天
  5. mysql优化问题?_MYSQL优化问题
  6. ceph存储原理_【理论研究】漫谈传统IT基础设施10-存储(04)
  7. linux启动脚本 范本,Linux—微服务启停shell脚本编写模板
  8. android app增加内存大小,android – 增加分配给应用程序的内存
  9. 生成html_HTML页面生成器:使用JavaScript和Node创建CLI
  10. mysql左连接丢失null值的问题