扯淡:好久没有写博客,不,是好久没有认真写博客。以前都是随便写一下就扔掉了,今天新建了博客,打算重新开始,认真对待。也与大家分享我所学的知识,然本人才疏学浅,不足之处还望各位大佬多多指点。
正文:
今天和大家分享一下关于Android的键盘输入法的知识。
这是第一篇,先分享一下输入类型。
指定键盘类型android:InputType
<EditText
android:id="@+id/phone"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:hint="@string/phone_hint"
android:inputType="phone" />
Android会根据输入类型的不同使用不同的键盘
先举三个例子看看效果
* phone数字键盘
* textPassword”键密码
* android:inputType=”textAutoCorrect”开启拼写建议
下面是inputType值的大全:
* none输入普通字符
* text输入普通字符
* textCapCharacters输入普通字符
* textCapWords单词首字母大小
* textAutoCorrect前两个自动完成
* textAutoComplete前两个自动完成
* textMultiLine多行输入
* textImeMultiLine输入法多行(不一定支持)
* textNoSuggestions不提示
* textUriURI格式
* textEmailAddress–电子邮件地址格式
* textEmailSubject邮件主题格式
* textShortMessage短消息格式
* textLongMessage长消息格式
* textPersonName人名格式
* textPostalAddress邮政格式
* textPassword密码格式
* textVisiblePassword密码可见格式
* textWebEditText作为网页表单的文本格式
* textFilter文本筛选格式
* textAutoCorrect开启拼写建议
* textPhonetic拼音输入格式
* number数字格式
* numberSigned有符号数字格式
* numberDecimal可以带小数点的浮点格式
* phone拨号键盘
* datetime
* date日期键盘
* time时间键盘
* phone|textAutoCorrect|textCapSentences(多种结合)开启拼写建议并开启首字母大写并指定键盘类型
输入法行为android:imeOptions
默认Next或者Done,除非我们的文本框允许多行输入android:inputType=”textMultLine”
* android:imeOptions=”actionSend”发送
* android:imeOptinotallow=”actionSearch”
使用
.xml
<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" />
.java监听动作按钮的按压
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;
}
});