Android(安卓)软键盘控制弹出(很好使,自己写的,绝对能用)
16lz
2021-12-04
最近在做电商类的项目,由于需求的不断变动,在有关输如文本框的地方,要求弹出软键盘,如果界面很多的下,则需要些很多代码,在空闲的时候,写了一个软键盘管理类,很好使,自己写的,亲自试过,这是一个软键盘控制单例模式实现的。
代码如下:
package com.okdi.ilife.activity.login;import android.app.Activity;import android.content.Context;import android.view.View;import android.view.inputmethod.InputMethodManager;import android.widget.EditText;/** * 类功能描述:软键盘管理界面</br> * * @author yuyahao * @version 1.0 </p> 修改时间:</br> 修改备注:</br> */public class InputManager { private Context context; public static InputManager inputManager; private InputMethodManager imm; private InputManager(Context context){ this.context = context; // 得到InputMethodManager的实例 imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); totleShowSoftInput(); } public static InputManager getInstances(Context context){ if(inputManager == null){ inputManager = new InputManager(context); } return inputManager; } /** * 切换软键盘的显示与隐藏 */ public void totleShowSoftInput(){ imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY); } /** * 判断软键盘 弹出 */ public void showSoftInput(){ if (!imm.isActive()) { // imm.toggleSoftInput(0, InputMethodManager.RESULT_SHOWN); } } /** *关闭软键盘 *针对于 有一个EdtxtView * @param input_email */ public void hideSoftInput(EditText input_email){ if (imm.isActive()) { // 关闭软键盘,开启方法相同,这个方法是切换开启与关闭状态的 imm.hideSoftInputFromWindow(input_email.getWindowToken(), 0); } } /** * 针对于 有多个EdtxtView * 关闭所有的软键盘 */ public void hideALlSoftInput(){ View view = ((Activity) context).getWindow().peekDecorView(); if (view != null) { imm.hideSoftInputFromWindow(view.getWindowToken(), 0); } }}
有时候我们还需要设置其EditText的输入类型:
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"--URI格式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"--时间键盘
这样一来,我们就可以对其进行控制了,是不是很好使啊!
老于始终坚信:没有做不到的,只有想不到了。
java代码下载地址:http://download.csdn.net/detail/androidstarjack/8815693
最后附上自己的博客地址:老于的博客http://blog.csdn.net/androidstarjack
欢迎大家与老于一起进行探究和学习
更多相关文章
- Android学习笔记(四七):Content Provider初谈和Android联系人信息
- Android(安卓)KitKat 4.4平台开发-添加USB ADB和MTP功能支持
- Android事件处理方法总结-Handler消息处理
- android EditText中inputType的属性列表
- Android将胜过Windows Mobile五大原因
- android键盘隐藏
- Android开发中的drawable文件:shape、layer-list和selector标签
- Android操作Excel文件的功能实现
- 关于EditText的一点深入的了解