EditText的inputType属性详解,让指定的EditText获取焦点并弹出软键盘
2017-06-20 11:01
916 查看
Android中inputType属性在EditText输入值时启动的虚拟键盘的风格有着重要的作用。这也大大的方便的操作。有时需要虚拟键盘只为字符或只为数字。所以inputType尤为重要。
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="text" />
//文本类型,多为大写、小写和数字符号。
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:textColorHint设置提示hint信息的颜色。
//数值类型
android:inputType="number" 数字
android:inputType="numberSigned" 带符号数字格式
android:inputType="numberDecimal" 带小数点的浮点格式
android:inputType="phone" 拨号键盘
android:inputType="datetime" 时间日期
android:inputType="date" 日期键盘
android:inputType="time" 时间键盘
/**
* EditText获取焦点并显示软键盘
*/
public static void showSoftInputFromWindow(Activity activity, EditText editText) {
editText.setFocusable(true);
editText.setFocusableInTouchMode(true);
editText.requestFocus();
InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, 0);
}
自定义Android软键盘enter键
问题描述:
你在EditText上输入以后,想在下一行输入框输入,可能需要去点击下一行输入框,让它获取焦点,也可能要隐藏软键盘,在点击输入框,弹出软键盘。或者已经到了最后一行输入框,输入完毕以后,要点击登录,注册,或者链接按钮,可能要去隐藏它,感觉操作狠繁琐。用户体验不好,有没有解决办法呢?
解决办法:设置EditText的Ime Options属性。
软键盘,最常用的enter键事件有: 把EditText的Ime Options属性设置成不同的值,Enter键上可以显示不同的文字或图案
actionNone : 回车键,按下后光标到下一行
actionSend : Send
actionNext : Next
actionDone : Done,隐藏软键盘,即使不是最后一个文本输入框
actionSearch : search 搜索
注意一定要设置android:singleLine=”true”,否则回车会换行
下面贴出代码:
<EditText
android:id="@+id/tv_search" android:layout_width="wrap_content" android:layout_height="wrap_content"
android:imeOptions="actionSearch"
android:singleLine="true" >
</EditText>
内容监听EditText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId,
KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
searchYanshan();
}
return false;
}
});
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="text" />
//文本类型,多为大写、小写和数字符号。
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:textColorHint设置提示hint信息的颜色。
//数值类型
android:inputType="number" 数字
android:inputType="numberSigned" 带符号数字格式
android:inputType="numberDecimal" 带小数点的浮点格式
android:inputType="phone" 拨号键盘
android:inputType="datetime" 时间日期
android:inputType="date" 日期键盘
android:inputType="time" 时间键盘
/**
* EditText获取焦点并显示软键盘
*/
public static void showSoftInputFromWindow(Activity activity, EditText editText) {
editText.setFocusable(true);
editText.setFocusableInTouchMode(true);
editText.requestFocus();
InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(editText, 0);
}
自定义Android软键盘enter键
问题描述:
你在EditText上输入以后,想在下一行输入框输入,可能需要去点击下一行输入框,让它获取焦点,也可能要隐藏软键盘,在点击输入框,弹出软键盘。或者已经到了最后一行输入框,输入完毕以后,要点击登录,注册,或者链接按钮,可能要去隐藏它,感觉操作狠繁琐。用户体验不好,有没有解决办法呢?
解决办法:设置EditText的Ime Options属性。
软键盘,最常用的enter键事件有: 把EditText的Ime Options属性设置成不同的值,Enter键上可以显示不同的文字或图案
actionNone : 回车键,按下后光标到下一行
actionSend : Send
actionNext : Next
actionDone : Done,隐藏软键盘,即使不是最后一个文本输入框
actionSearch : search 搜索
注意一定要设置android:singleLine=”true”,否则回车会换行
下面贴出代码:
<EditText
android:id="@+id/tv_search" android:layout_width="wrap_content" android:layout_height="wrap_content"
android:imeOptions="actionSearch"
android:singleLine="true" >
</EditText>
内容监听EditText.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId,
KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
searchYanshan();
}
return false;
}
});
相关文章推荐
- Android Edittext获取焦点后,弹出的软键盘显示搜索、发送、完成等功能
- EditText获取焦点自动弹出键盘
- 关于Android中EditText自动获取焦点并弹出键盘的相关设置
- android开发中防止刚进入activity时edittext获取焦点,防止自动弹出软键盘
- android开发中防止刚进入activity时edittext获取焦点,自动弹出软键盘
- 显示界面的时候直接获取到EditText焦点弹出键盘
- EditText 获取焦点后禁止弹出软键盘
- ListView里面有EditText,弹出键盘后EditView立刻不能获取焦点的问题
- Android EditText获取焦点并弹出软键盘
- Android关于Edittext的inputtype属性详解
- EditText 默认不获取焦点,弹出软键盘布局变形解决方案
- 关于android中EditText自动获取焦点并弹出键盘的相关设置
- Android EditText获取焦点并弹出软键盘
- EditText 获取焦点后禁止弹出软键盘
- EditText获取焦点并弹出软键盘
- edittext获取焦点并弹出软键盘
- android开发中防止刚进入activity时edittext获取焦点,防止自动自动弹出软键盘
- Android的EditText在怎样获取焦点并弹出软键盘
- android:windowSoftInputMode属性详解以及editText监听键盘回车会执行两次的解决方法
- ListView里面有EditTextView,解决弹出键盘后EditView不能获取焦点的问题