标签:android 软键盘 android inputmethodm android edittext inp android 软键盘的控制
最近在做电商类的项目,由于需求的不断变动,在有关输如文本框的地方,要求弹出软键盘,如果界面很多的下,则需要些很多代码,在空闲的时候,写了一个软键盘管理类,很好使,自己写的,亲自试过,这是一个软键盘控制单例模式实现的。
代码如下:
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); } } }
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"--时间键盘
这样一来,我们就可以对其进行控制了,是不是很好使啊!
Android 软键盘控制弹出(很好使,自己写的,绝对能用)
标签:android 软键盘 android inputmethodm android edittext inp android 软键盘的控制
原文地址:http://blog.csdn.net/androidstarjack/article/details/46534165