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 ,一个设置为输入密码,刚好这三个是日常开发中常遇到的
-
创建一个 空的 Android 项目
cn.twle.android.EditText
-
修改
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>
-
修改
activity_main.xml
添加三个 EditText ,android:inputType
属性分别设置为phone
、textPassword
、textEmailAddress
<?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>
运行范例效果如下