EditText 简介

•简介

  EditText是一个非常重要的组件,可以说它是用户和Android应用进行数据传输窗户;

  有了它就等于有了一扇和Android应用传输的门,通过它用户可以把数据传给Android应用,然后得到我们想要的数据。

  EditText是TextView的子类,所以TextView的方法和特性同样存在于EditText中


EditText常用属性

•maxLength

  有时候我们有一些特属的需要,要求只能在EditText中输入特定个数的字符,比如身份证号、手机号码等。

  这时候就可以通过 android:maxLength 属性来设置最大输入字符个数;

  比如 android:maxLength=“4” 就表示最多能输入 4 个字符,再多了就输入不进去了。

•Hint

  有时候我们需要说明你定义的这个EditText是做什么用的,比如让输入“用户名”,或者输入“电话号码”等;

  但是你又不想在EditText前面加一个TextView来说明这是输入“用户名”的,因为这会使用一个TextView,那么怎么办呢?

  EditText为我们提供了android:hint来设置当EditText内容为空时显示的文本;

  这个文本只在EditText为空时显示,你输入字符的时候就消失了,不影响你的EditText的文本。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp"> <EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入用户名"/> </LinearLayout>

运行效果:

  

  我们还可以通过 android:textColorHint 属性设置提示文本的颜色;

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp"> <EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入用户名"
android:textColorHint="@color/black"
/> </LinearLayout>

•enabled

  设置 android:enabled="false" 可以实现不可编辑,可以获得焦点。

  这时候我们看到EditText和一个TextView差不多;

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp"> <EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入用户名"
android:textColorHint="@color/black"
android:enabled="false"
/> </LinearLayout>

运行效果:

  

•password

  密码输入也是Android应用常用的功能,通过配置EditText的android:password="true"就可以实现这一密码输入功能;

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="10dp"> <EditText
android:id="@+id/edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入密码"
android:textColorHint="@color/black"
android:password="true"
/> </LinearLayout>

运行效果:

  

  设置之后,我们输入的字符就会被 “.” 这样的掩码所代替。

•phoneNumber

  手机中发短信打电话是必不可少的,所以用于专门输入电话号码的文本框也是大有用途;

  有了他我们对是否是电话号码的校验就容易的多了(因为字符是正确的,只要校验格式 );

  通过设置 android:phoneNumber="true" 就可以把EditText变成只接受电话号码输入的文本框;

•inputType

  前面我们通过指定为电话号码特定格式,然后键盘类型变成了拨号专用的键盘,这个是自动变的;

  其实我们也可以通过 android:inputType 来设置文本的类型,让输入法选择合适的软键盘;

  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"

    • 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"..................时间键盘

•设置最小行,最多行,单行,多行,自动换行

  • android:minLines="3" : 设置最小行的行数

  • android:maxLines="3" : 设置EditText最大的行数

    • 当输入内容超过 maxline , 文字会自动向上滚动

  • android:singleLine="true" : 限制EditText只允许单行输入,而且不会滚动

•设置文字间隔,设置英文字母大写类型

  • android:textScaleX="1.5" : 设置字与字的水平间隔

  • android:textScaleY="1.5" : 设置字与字的垂直间隔

  • android:capitalize=" " : 默认none,提供了三个可选值

    • sentences : 仅第一个字母大写

    • words : 每一个单词首字母大小,用空格区分单词

    • characters : 每一个英文字母都大写

Android Studio 之 EditText的更多相关文章

  1. Android Studio中Button等控件的Text中字符串默认大写的解决方法

    初学Android的时候,在Android Studio中xml里面添加一个Button.EditText等控件后,它的Text总是会显示大写,即使你输入的字符串是小写也不行,控制字符串大小写的属性是 ...

  2. android studio 1.0 开发 ndk 调用 c++ so库

    一个没用过java和安卓的人使用android studio开发带c++ so库的安卓程序用例(以ndk的hello-jni为例),对于不熟悉java和安卓的人来说这个很花时间,希望通过这篇文章帮助跟 ...

  3. android studio 各种问题

    1.dexDebug ExecException finished with non-zero exit value 2 全bug日志如下: (Error:Execution failed for t ...

  4. [App]Android Studio First App

    准备着看Android Studio的体验如何. 通过Android Studio构建一个默认的项目,添加一些元素 <RelativeLayout xmlns:android="htt ...

  5. 在Android Studio中进行单元测试和UI测试

    本篇教程翻译自Google I/O 2015中关于测试的codelab,掌握科学上网的同学请点击这里阅读:Unit and UI Testing in Android Studio.能力有限,如有翻译 ...

  6. android studio Activity标题栏研究

    第一次研究时间:2016/7/30,以下研究主要存在于当前最新版本的android studio上.eclipse请参考 一.头部标题取消 当前版本新建工程在 application中默认主题为 an ...

  7. 为Android Studio中的SettingsActivity定制任务栏

    Android Studio为开发者提供了很多内建的Activity, 其中Settings Activity是非常有用且功能强大的一种内建Activity. Setting Activity其实本质 ...

  8. Android Studio精彩案例(七)《ToolBar使用详解<一>》

    转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 本文参考博客:http://blog.csdn.net/h_zhang/article/details/51232773 http:/ ...

  9. Android Studio精彩案例(五)《JSMS短信验证码功能实现》

    转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 很多应用刚打开的时候,让我们输入手机号,通过短信验证码来登录该应用.那么,这个场景是怎么实现的呢?其实是很多开放平台提供了短信验证功能 ...

随机推荐

  1. Subresource Integrity,SRI,Cross-Origin Resource Sharing (CORS),子资源的完整性检查,Subresource Integrity checking,CORS,Ajax

    SRI https://code.jquery.com/ SRI是一种新的W3C规范,它允许Web开发人员,以确保托管在第三方服务器上的资源是没有被篡改的.SRI的使用,建议作为最佳实践,每当库从第三 ...

  2. SVG & Sprite & symbol & use

    SVG & Sprite & symbol & use https://www.zhangxinxu.com/sp/svgo/ https://www.zhangxinxu.c ...

  3. 「NGK每日快讯」2021.1.22日NGK公链第80期官方快讯!

  4. APC体育公司重视“女性经济 ”深度挖掘女性市场

    据消费者追踪服务调查数据显示,从2020年1月到8月,a private company体育公司(公司编号:08703733)品牌下的女性运动服装的在线销售额较上一年增长了77%. 女性市场已然成为A ...

  5. NGK——更好的数据与网络

    对于NGK而言,帐本是不可或缺的,所以NGK有独立的共识层,共识层有单独的参与的共识节点.而其余计算都丢给其他的计算资源计算,共识层汇总一个正确的结果即可. 进行大量计算过程的资源是另一种节点,在NG ...

  6. JavaScript高级-类的使用

    1.面向过程与面向对象 1.1面向过程 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用就可以了. 1.2面向对象 面向对象是把事务分解成为一个 ...

  7. django学习-2.urls.py和view.py的相关知识点

    1.URL函数简单解析 1.1.url() 函数可以接收四个参数,分别是两个必选参数:regex.view,和两个可选参数:kwargs.name. def url(regex, view, kwar ...

  8. Mybatis-05 注解开发

    Mybatis-05 注解开发 注解开发 注解的核心是反射机制 面向接口编程的根本原因:解耦,可拓展,提高复用,分层开发中.上层不用管具体的实现,大家都遵守共同的标准,使得开发变得容易,规范性好. 1 ...

  9. JVM 字节码之 int 入栈指令

    本文转载自JVM 字节码之 int 入栈指令(iconst.bipush.sipush.ldc) 前言 本文介绍 int 入栈指令 iconst.bipush.sipubh.Idc. 当 int 取值 ...

  10. iOS拍照定制之AVCaptureVideoDataOutput

    问题 领导看了前面做的拍照,问了句"哪来的声音", "系统的,自带的,你看系统的拍照也有声音" "有办法能去掉吗?挺糟心的" "我 ...