Android EditText 输入框

EditText (输入框) 默认情况下是可以输入任何字符的,但,经常,我们要对某个 EditText 能够输入的东西进行限制,比如输入电话号码的时候,你输入了一串字母,这显然是不符合预期的

android:inputType 属性

属性 android:inputType 可以用来限制输入类型,比如下面的 EditText 只能输入电话号码

<EditText   
    android:layout_width="match_parent"   
    android:layout_height="wrap_content"   
    android:inputType="phone" />

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:inputType 属性,一个设置为输入 email, 一个设置为输入 phone ,一个设置为输入密码,刚好这三个是日常开发中常遇到的

  1. 创建一个 空的 Android 项目 cn.twle.android.EditText

  2. 修改 res/values/strings.xml 添加几个字符串

    <?xml version="1.0" encoding="utf-8" ?>
    <resources>
        <string name="app_name">EditText</string>
    
        <string name="email">邮箱</string>
        <string name="phone">手机号</string>
        <string name="password">密码</string>
    </resources>
    
  3. 修改 activity_main.xml 添加三个 EditText ,android:inputType 属性分别设置为 phonetextPasswordtextEmailAddress

    <?xml version="1.0" encoding="utf-8" ?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
    
        <EditText
            android:id="@+id/phone"
            android:hint="@string/phone"
            android:inputType="phone"
            android:layout_width="match_parent" 
            android:layout_height="wrap_content" />
    
        <EditText
            android:id="@+id/password"
            android:hint="@string/password"
            android:inputType="textPassword"
            android:layout_width="match_parent" 
            android:layout_height="wrap_content" />
    
        <EditText
            android:id="@+id/email"
            android:hint="@string/email"
            android:inputType="textEmailAddress"
            android:layout_width="match_parent" 
            android:layout_height="wrap_content" />
    
    </LinearLayout>
    

运行范例效果如下

参考文档

  1. Android 官方文档 EditView

Android 基础教程

关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.