Android软键盘强制弹出,隐藏输入法.

当我们弹出一个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;
          
      }
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Virtual on-screen keyboard 取代 Windows 屏幕键盘与热虚拟键盘,在短短几分钟内并开始像亲手打字!Virtual on-screen keyboard 包含多项先进功能,使屏幕上打字更快,更容易,更准确。充分利用您的触摸屏电脑(平板电脑,UMPC,平板电脑,车载电脑,触摸显示器等等)或类型用鼠标快速,高效! 虚拟键盘软件 Hot Virtual Keyboard 中文版虚拟键盘软件 Hot Virtual Keyboard 中文版 创建自己的虚拟键盘,屏幕上的键盘看起来很古老。 输入鼠标手势配置,启动程序,浏览互联网。新的虚拟键盘输入技术采用了先进的现代移动电话和传播,包括单词自动完成,让你选择正确的字与一个单一的点击后输入一个或两个字母。 平板电脑,UMPC,平板电脑,车载电脑和类似的触摸屏设备的用户会发现不可缺少的虚拟键盘。 使用鼠标,触摸板或手指在屏幕上打字。 用虚拟键盘,你可以通过使用内置的Windows屏幕键盘输入更快捷,更方便。 使用手势,快速执行重复的操作,如转换字母大小写,指定应用程序隐藏,并设置自己的快捷键启动程序或网站,运行宏,并执行操作,如复制和粘贴。 新的虚拟屏幕键盘取代Windows自带的屏幕上的键盘更先进的替代。 它只是作为兼容本机应用程序。 虚拟键盘支持所有语言和所有已安装的键盘布局,是一个真正的国际化的工具。 提供超过40个预定义的键盘皮肤,屏幕上的虚拟键盘,使您可以根据您的个人喜好创建,自定义配置一个独特的新键盘。 调整色彩和伽玛,独特的声音分配,设置按键的形状,选择自己的背景。 主要特点 完全可定制的外观和行为可编程按钮进行常规操作,如复制和粘贴文本启动应用程序,打开网页或运行宏Word自动完成,使打字比以往任何时候都更快,更准确支持多国语言和键盘布局整合到其他系统的虚拟键盘在Windows 7和Windows 8支持多点触控

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值