本文实例讲述了Android实现弹出键盘代码,是一个非常实用的功能。代码非常简洁。分享给大家供大家参考。

具体功能代码如下:

1
2
3
4
5
6
7
8
Timer timer = new Timer();
timer.schedule(new TimerTask() {
 @Override
 public void run() {
 InputMethodManager m = (InputMethodManager) editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
 m.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
 }
}, 300);

希望本文所述对大家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;
          
      }
}

Android软键盘强制弹出,隐藏输入法.的更多相关文章

  1. Android中检测软键盘的弹出和关闭

    Android系统并没有提供明显的API来监听软键盘的弹出和关闭,但是在某些情况下我们还是有办法来检测软键盘的弹出和关闭. 从StackOverflow找到了一个不错的方法.但是这种只适用于在mani ...

  2. Android 另类方法监听软键盘的弹出收起事件

    http://www.cnblogs.com/csonezp/p/5065624.html 最近做的项目碰到个问题,a界面是fragment+recyclerview,b界面带个edittext,并且 ...

  3. Android 软键盘的显示和隐藏,这样操作就对了

    一.前言 如果有需要用到输入的地方,通常会有需要自动弹出或者收起软键盘的需求.开篇明义,本文会讲讲弹出和收起软键盘的一些细节,最终还会从源码进行分析. 想要操作软键盘,需要使用到 InputMetho ...

  4. 关于ios8模拟器不能输入中文问题以及软键盘不弹出问题

    在Xcode菜单栏中   Product->scheme->Edit Scheme->Options->Application Region改为中国,就可以输入中文了, 如果软 ...

  5. android 软键盘的显示与隐藏问题的研究

    在android中,常常会和输入法的软件键盘交互.在Manifest文件中,系统给activity的一个属性-windowSoftInputMode来控制输入法的显示方式. 该属性提供了Activit ...

  6. android 软键盘自动弹出和关闭

     一.布局中软键盘自动弹出 bargain_dialog_offer_edit.requestFocus(); bargain_dialog_offer_edit.setFocusable(true) ...

  7. Android控制软键盘的弹出和隐藏

    弹出软键盘 前提:必须要有一个可以编辑的控件(EditText),并且当前已经获取焦点 /** * 弹出软键盘 */ public void openKeyboard(View view) { // ...

  8. Andoir 判断软键盘是否弹出

    前言          欢迎大家我分享和推荐好用的代码段~~ 声明          欢迎转载,但请保留文章原始出处:          CSDN:http://www.csdn.net        ...

  9. android软键盘的显示和隐藏

    显示: InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE); imm.toggle ...

随机推荐

  1. 第2章 来点C#的感觉

    创建控制台项目 using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...

  2. js 获取元素在页面上的偏移量的最佳方式

    使用js制作效果时,我们常常要获取某个元素在页面上的偏移量(例如tip提示框功能).而获取偏移量可以直接获取相对于document的偏移量,也可以获取相对与视口的偏移量(viewpoint)加上页面滚 ...

  3. php正则表达式总结

    <?php echo 'wj'; echo '<br>'; $file = '<td>移动150卡</td><!--<td></td& ...

  4. .net 实现 URL重写,伪静态

    一,获得Mircosoft URLRewriter.dll: 获得Mircosoft URLRewriter.dll可以到http://www.microsoft.com/china/msdn/lib ...

  5. 没有找到iertutil.dll怎么办?快速解决iertutil.dll丢失

    iertutil.dll 是存放在 C:\Windows\System32 目录下的一个动态链接库文件,它提供函数给其他程序所调用.iertutil.dll 能够实现接到互联网,纪录输入,监控应用程序 ...

  6. Jenkins学习之——(4)Email Extension Plugin插件的配置与使用

    1.先安装插件 2.配置 点击高级后 内容配置: 3.项目配置 点击Advanced Settings后 到此所有的配置都设置完成. 附录: 以下内容来自其他网友的博客,内容也没有自己去试,朋友们可以 ...

  7. C++程序设计教程学习(0)-引子

    回想一下从事C++相关开发工作已经有4年,主要从事基于MFC.Duilib等GUI框架开发进行windows应用程序开发,还涉及了一些开源的项目.但是真的谈起这门语言或多或少都会有些心虚,关于C++的 ...

  8. Android中的动画

    Android中的动画分为: 1.逐帧动画(Frame Animation):  把动画过程的每张静态图片都收集起来,然后由Android来控制依次显示这些静态图片,然后利用人眼”视觉暂留“的原理,给 ...

  9. mysql服务启动

    1.C:\Program Files (x86)\MySQL\mysql-5.5.33-win32\bin>net stop mysqlMySQL 服务正在停止.MySQL 服务已成功停止. 2 ...

  10. php wampp 访问数据库

    //获取用户信息private function UlikeGetUserInfo($Wechat,$data) { $this->logger("到达UlikeFunction.in ...