zoukankan      html  css  js  c++  java
  • 键盘--android 隐藏系统键盘

    -----------------------------------------已验证-----------------------------------


     public static void closeBoard(Context mcontext) {
      InputMethodManager imm = (InputMethodManager) mcontext
        .getSystemService(Context.INPUT_METHOD_SERVICE);
      // imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
      if (imm.isActive())  //一直是true
       imm.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT,
         InputMethodManager.HIDE_NOT_ALWAYS);
     }


     
     public static void hideSystemKeyBoard(Context mcontext,View v) {
      InputMethodManager imm = (InputMethodManager) ((AbstractMmtClientActivity) mcontext)
        .getSystemService(Context.INPUT_METHOD_SERVICE);
      imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
     }

    --------------------------------------参考------------------------------------------------

    1、对隐藏软键盘有用的函数为:

    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
    它可以用来抑制键盘出现,除非用户接触了edittext区域。
    2、你可以强制android隐藏虚拟键盘,用InputMethodManager方法,调用hideSoftInputFromWindow
    InputMethodManager imm =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0);
    这样可以强制在任何条件下隐藏虚拟键盘。
     
    3、
    InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);  
    //得到InputMethodManager的实例 
    if (imm.isActive()) { 
    //如果开启 
    imm.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT, InputMethodManager.HIDE_NOT_ALWAYS); 
    //关闭软键盘,开启方法相同,这个方法是切换开启与关闭状态的 
    } 

    ------------------------------------------ 
    //隐藏软键盘-可行 
    int flags = WindowManager.LayoutParams.FLAG_ALT_FOCUSABLE_IM; 
    getWindow().addFlags(flags); 

    -------------------------------------------- 
    在onclick事件下.以下方法可行.(如果是EditText失去焦点/得到焦点,没有效果) 
    InputMethodManager im = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
    im.hideSoftInputFromWindow(getCurrentFocus().getApplicationWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
  • 相关阅读:
    86. Partition List
    2. Add Two Numbers
    55. Jump Game
    70. Climbing Stairs
    53. Maximum Subarray
    64. Minimum Path Sum
    122. Best Time to Buy and Sell Stock II
    以场景为中心的产品设计方法
    那些产品经理犯过最大的错
    Axure教程:如何使用动态面板?动态面板功能详解
  • 原文地址:https://www.cnblogs.com/awkflf11/p/5048837.html
Copyright © 2011-2022 走看看