Android中监听软键盘显示状态实现代码

 更新时间:2015年04月24日 11:25:53   投稿:junjie  
这篇文章主要介绍了Android中监听软键盘显示状态实现代码,本文直接给出核心实现代码,需要的朋友可以参考下
/**监听软键盘状态
   * @param activity
   * @param listener
   */
  public static void addOnSoftKeyBoardVisibleListener(Activity activity, final OnSoftKeyBoardVisibleListener listener) {
    final View decorView = activity.getWindow().getDecorView();
    decorView.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
      @Override
      public void onGlobalLayout() {
        Rect rect = new Rect();
        decorView.getWindowVisibleDisplayFrame(rect);
        int displayHight = rect.bottom - rect.top;
        int hight = decorView.getHeight();
        boolean visible = (double) displayHight / hight < 0.8;
         
        Log.d(TAG, "DecorView display hight = " + displayHight);
        Log.d(TAG, "DecorView hight = " + hight);
        Log.d(TAG, "softkeyboard visible = " + visible);
 
        if(visible != sLastVisiable){
          listener.onSoftKeyBoardVisible(visible);
        }
        sLastVisiable = visible;
      }
    });
  }

相关文章

  • Android拦截并获取WebView内部POST请求参数的实现方法

    Android拦截并获取WebView内部POST请求参数的实现方法

    这篇文章主要介绍了Android拦截并获取WebView内部POST请求参数 的实现方法,本文通过两种方案给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • Andriod Service与Thread的区别介绍

    Andriod Service与Thread的区别介绍

    我们要明确Service是运行在主线程的,不能有耗时操作,这样,在Service中处理耗时操作的时候,我们依然需要使用线程来处理,既然在Service里也要创建一个子线程,那为什么不直接在Activity里创建呢,下面通过本文给大家介绍Andriod Service与Thread的区别,一起看看吧
    2017-04-04
  • Android如何通过scheme跳转界面

    Android如何通过scheme跳转界面

    Android如何通过scheme跳转界面,这篇文章就为大家介绍了Android通过scheme跳转界面的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • Android使用Intent传递组件大数据

    Android使用Intent传递组件大数据

    这篇文章主要介绍了Android使用Intent传递组件大数据,文章围绕主题展开详细的内容详情,感兴趣的朋友可以参考一下
    2022-07-07
  • 适配AndroidQ拍照和读取相册图片的实现方法

    适配AndroidQ拍照和读取相册图片的实现方法

    这篇文章主要介绍了适配AndroidQ拍照和读取相册图片的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-06-06
  • Android自定义ViewGroup实现竖向引导界面

    Android自定义ViewGroup实现竖向引导界面

    这篇文章主要为大家详细介绍了Andoird自定义ViewGroup实现竖向引导界面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • Android实现Camera2预览和拍照效果

    Android实现Camera2预览和拍照效果

    这篇文章主要为大家详细介绍了Android开发之一个类实现Camera2预览和拍照效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • Android Studio 安装配置方法完整教程【小白秒懂】

    Android Studio 安装配置方法完整教程【小白秒懂】

    这篇文章主要介绍了Android Studio 安装配置方法完整教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2020-03-03
  • 浅谈Android Studio 解析XML的三种方法

    浅谈Android Studio 解析XML的三种方法

    这篇文章主要介绍了浅谈Android Studio 解析XML的三种方法,Android Studio 解析XML常见的三种方式:DOM PULL SAX,非常具有实用价值,需要的朋友可以参考下
    2018-07-07
  • Android自定义View实现抖音飘动红心效果

    Android自定义View实现抖音飘动红心效果

    这篇文章主要为大家详细介绍了Android自定义View实现抖音飘动红心效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-05-05

最新评论