android指定输入法类型
来源:互联网 发布:windows 漏洞扫描 编辑:程序博客网 时间:2024/04/29 20:12
编写:zhaochunqi - 原文:http://developer.android.com/training/keyboard-input/style.html
每个文本框都对应特定类型的文本输入,如Email地址,电话号码,或者纯文本。为应用中的每一个文本框指定输入类型是很重要的,这样做可以让系统展示更为合适的软输入法(比如虚拟键盘)。
除了输入法可用的按钮类型之外,我们还应该指定一些行为,例如,输入法是否提供拼写建议,新的句子首字母大写,和将回车按钮替换成动作按钮(如 Done 或者 Next)。这节课介绍了如何添加这些属性。
指定键盘类型
通过将 android:inputType 属性添加到 <EditText> 节点中,我们可以为文本框声明输入法。
举例来说,如果我们想要一个用于输入电话号码的输入法,那么使用 "phone"
值:
<EditText android:id="@+id/phone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/phone_hint" android:inputType="phone" />
Figure 1. phone
输入类型
或者如果文本框用于输入密码,那么使用 "textPassword"
值来隐藏用户的输入:
<EditText android:id="@+id/password" android:hint="@string/password_hint" android:inputType="textPassword" ... />
Figure 2. textPassword
输入类型
有几种可供选择的值在 android:inputType
记录在属性中,一些值可以组合起来实现特定的输入法外观和附加的行为。
开启拼写建议和其它行为
android:inputType 属性允许我们为输入法指定不同的行为。最为重要的是,如果文本框用于基本的文本输入(如短信息),那么我们应该使用 "textAutoCorrect"
值来开启自动拼写修正。
Figure 3. 添加 textAutoCorrect
为拼写错误提供自动修正
我们可以将不同的行为和输入法形式组合到 android:inputType 这个属性。如:如何创建一个文本框,里面的句子首字母大写并开启拼写修正:
<EditText android:id="@+id/message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType= "textCapSentences|textAutoCorrect" ... />
指定输入法的行为
多数的软键盘会在底部角落里为用户提供一个合适的动作按钮来触发当前文本框的操作。默认情况下,系统使用 Next 或者 Done,除非我们的文本框允许多行文本(如android:inputType="textMultiLine"
),这种情况下,动作按钮就是回车换行。然而,我们可以指定一些更适合我们文本框的额外动作,比如 Send 和 Go。
Figure 4. 当我们声明了 android:imeOptions="actionSend"
,会出现 Send 按钮。
使用android:imeOptions 属性,并设置一个动作值(如 "actionSend"
或 "actionSearch"
),来指定键盘的动作按钮。如:
<EditText android:id="@+id/search" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="@string/search_hint" android:inputType="text" android:imeOptions="actionSend" />
然后,我们可以通过为 EditText 节点定义 TextView.OnEditorActionListener 来监听动作按钮的按压。在监听器中,响应 EditorInfo 类中定义的适合的 IME action ID,如 IME_ACTION_SEND 。例如:
EditText editText = (EditText) findViewById(R.id.search);editText.setOnEditorActionListener(new OnEditorActionListener() { @Override public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { boolean handled = false; if (actionId == EditorInfo.IME_ACTION_SEND) { sendMessage(); handled = true; } return handled; }
});
转发自:http://hukai.me/android-training-course-in-chinese/input/keyboard-input/type.html
- android指定输入法类型
- Android输入法管理器设置输入法类型通过setCurrentInputMethodSubtype来设置
- Android EditText控件输入指定长度后自动隐藏输入法
- 关于Android输入法遮挡控件处理方法!!!!!(可以指定控件,使其在输入法之上)
- Android/读取指定类型的文件
- Android如何全局扫描指定类型文件
- 【ANDROID】EditText需要指定默认输入类型
- Android创建指定大小、类型的文件
- 控制输入法显示合适的键盘类型(android:inputType)
- Android键盘输入法(一)——键盘类型
- android 输入法键盘弹出与否判断和输入法键盘弹出时将界面滚动到指定位置
- android 输入法
- Android 输入法
- Android 输入法
- 控制指定窗口切换输入法
- MFC关闭指定edit输入法
- Android 开发-获取SD卡所有指定类型的文件
- Android高效获取指定类型文件,获取文件不求人!
- CAShapeLayer
- 数据库备份存储过程
- 镜像与CDN有什么区别?
- 数字滤波器设计
- 设计模式
- android指定输入法类型
- 社説 20150813 福島原発浄化水 廃炉を前進させる海への放出
- myEclipse中如何设置字体大小
- uva 10139 求n的阶乘能否整除m
- Scatter file
- java 随机长度10位数组,输入两个数字,找出差值最小的
- java程序由mysql转到sqlserver时在浮点数处理上遇到的错误
- 【debug】vs2013中定义的全局变量count在使用时提示:“不明确的符号”
- sdk manager 更新api