Android Studio 之 EditText
阅读原文时间:2023年07月08日阅读:29

•简介

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

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

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


•maxLength

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

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

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

•Hint

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

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

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

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

<EditText  
    android:id="@+id/edit\_text"  
    android:layout\_width="match\_parent"  
    android:layout\_height="wrap\_content"  
    android:hint="请输入用户名"/>

运行效果:

  

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

<EditText  
    android:id="@+id/edit\_text"  
    android:layout\_width="match\_parent"  
    android:layout\_height="wrap\_content"  
    android:hint="请输入用户名"  
    android:textColorHint="@color/black"  
    />

•enabled

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

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

<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"  
    />

运行效果:

  

•password

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

<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"  
    />

运行效果:

  

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

•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 : 每一个英文字母都大写

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章