zoukankan      html  css  js  c++  java
  • Android软键盘强制弹出,隐藏输入法.

    本文实例讲述了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;
              
          }
    }

  • 相关阅读:
    关于最大最小的k个数的类型题总结
    最小的K个数(剑指offer)
    215. Kth Largest Element in an Array(返回数组中第几大元素)(leetcode)
    数组中出现次数超过一半的数字(剑指offer)
    二叉搜索树与双向链表(剑指offer)
    第四届蓝桥杯c/c++B组6
    第四届蓝桥杯c/c++B组7
    第四届蓝桥杯c/c++B组8
    第四届蓝桥杯c/c++B组9
    第五届蓝桥杯 c/c++ B组8
  • 原文地址:https://www.cnblogs.com/exmyth/p/4607527.html
Copyright © 2011-2022 走看看