本文实例讲述了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. 如何搭建DHCP及DHCP中继服务器

    当局域网中有大量的主机时,如果逐台设置ip地址.默认网关.dns服务器地址时等网络参数,显然是一个费力也未必讨好的方法,这时使用DHCP的方式分发ip地址,能够动态配置各客户机的网络地址参数,大大减轻 ...

  2. ORA-16014: 日志 1 的序列号 242 未归档, 没有可用的目的地

    SQL> alter database open; *第 1 行出现错误:ORA-16014: 日志 1 的序列号 242 未归档, 没有可用的目的地ORA-00312: 联机日志 1 线程 1 ...

  3. AFNetworking 3.0的GET和POST的使用

    POST: AFHTTPSessionManager *session = [AFHTTPSessionManager manager]; session.requestSerializer = [A ...

  4. 用POP动画引擎实现弹簧动画(POPSpringAnimation)

    效果图: #import "ViewController.h" #import <POP.h> @interface ViewController () @proper ...

  5. JavaScript 客户端JavaScript之脚本化HTTP(通过XMLHttpRequest)

    XMLHttpRequest对象的设计目的是为了处理由普通文本或XML组成的响应:但是,一个响应也可能是另外一种类型,如果用户代理(UA)支持这种内容类型的话.   大多数浏览的客户端JavaScri ...

  6. Python文件之----CSV

    # -*- coding:utf-8 -*- ''' Created on 2015年4月20日 @author: liuxue ''' import csv import sys reload(sy ...

  7. gui小日历

    package MyCal; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JPanel; imp ...

  8. poj1182 并查集

     题目连接:http://poj.org/problem?id=1182 基础并查集,需要维护与根节点关系,解析见代码: /* poj 1182 并查集 思路分析:让你分析这些话里面多少假的 只需要用 ...

  9. mysql服务启动

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

  10. CSS中zoom:1的作用

    兼容IE6.IE7.IE8浏览器,经常会遇到一些问题,可以使用zoom:1来解决,有如下作用:触发IE浏览器的haslayout解决ie下的浮动,margin重叠等一些问题.比如,本站使用DIV做一行 ...