Android软键盘强制弹出,隐藏输入法.
2015-06-29 15:13
423 查看
其他
当我们弹出一个Dialog时候,如果这个Dialog需要输入数据,然后确定后又需要关闭输入法,一般系统的hide,跟show方法总会有各种问题,最霸道的解决方法就是写一个定时器,定时弹出或者关闭输入法。
import java.util.Timer;
import java.util.TimerTask;
import android.content.Context;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.EditText;
public class InputTools {
//隐藏虚拟键盘
public static void HideKeyboard(View v)
{
InputMethodManager imm = ( InputMethodManager ) v.getContext( ).getSystemService( Context.INPUT_METHOD_SERVICE );
if ( imm.isActive( ) ) {
imm.hideSoftInputFromWindow( v.getApplicationWindowToken( ) , 0 );
}
}
//显示虚拟键盘
public static void ShowKeyboard(View v)
{
InputMethodManager imm = ( InputMethodManager ) v.getContext( ).getSystemService( Context.INPUT_METHOD_SERVICE );
imm.showSoftInput(v,InputMethodManager.SHOW_FORCED);
}
//强制显示或者关闭系统键盘
public static void KeyBoard(final EditText txtSearchKey,final String status)
{
Timer timer = new Timer();
timer.schedule(new TimerTask(){
@Override
public void run()
{
InputMethodManager m = (InputMethodManager)
txtSearchKey.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
if(status.equals("open"))
{
m.showSoftInput(txtSearchKey,InputMethodManager.SHOW_FORCED);
}
else
{
m.hideSoftInputFromWindow(txtSearchKey.getWindowToken(), 0);
}
}
}, 300);
}
//通过定时器强制隐藏虚拟键盘
public static void TimerHideKeyboard(final View v)
{
Timer timer = new Timer();
timer.schedule(new TimerTask(){
@Override
public void run()
{
InputMethodManager imm = ( InputMethodManager ) v.getContext( ).getSystemService( Context.INPUT_METHOD_SERVICE );
if ( imm.isActive( ) )
{
imm.hideSoftInputFromWindow( v.getApplicationWindowToken( ) , 0 );
}
}
}, 10);
}
//输入法是否显示着
public static boolean KeyBoard(EditText edittext)
{
boolean bool = false;
InputMethodManager imm = ( InputMethodManager ) edittext.getContext( ).getSystemService( Context.INPUT_METHOD_SERVICE );
if ( imm.isActive( ) )
{
bool = true;
}
return bool;
}
}
相关文章推荐
- Android学习历程
- pay---Android 银行卡快捷支付
- Android各种屏幕分辨率(VGA、HVGA、QVGA、WQVGA、WVGA、FWVGA) 详解
- Android异常
- Android消息推送
- android 关于将应用添加到系统的 分享.. 或者 发送到.. 中
- Android初学笔记——xml文件的读写
- android中跨进程通讯的4种方式
- 【MIG专项测试组】如何准确评测Android应用的流畅度?
- Android - Designtime Layout Attributes & Tools Attributes
- Android注册native函数和jave方法的对应关系
- Android——LinearLayout按下(state_pressed)或获取焦点时(state_focused)背景设置不同颜色或图片
- Android类动态加载技术
- Android控件属性大全
- Android 手机影音 开发过程记录(三)
- (七十一)android中一个工程引用另一个工程
- Android开发之Bitmap.Config.RGB_565
- alipay--- Android 集成支付宝SDK实现快捷支付--详解
- [转]AndroidTolls国内镜像
- 篇三、开发前知识补充:Android的长度单位和屏幕分辨率,这个也是转载~~