标签: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