欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Android 获取虚拟键盘高度

程序员文章站 2022-03-03 21:56:49
activity.getWindow().getDecorView().getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener(){ //当键盘弹出隐藏的时候会 调用此方法。 @Override public void onGlobalLayout() { Rect rect =...
activity.getWindow().getDecorView().getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener(){
            //当键盘弹出隐藏的时候会 调用此方法。
            @Override
            public void onGlobalLayout() {
                Rect rect = new Rect();
                //获取当前界面可视部分
                activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(rect);
                //此处就是用来获取键盘的高度的, 在键盘没有弹出的时候 此高度为0 键盘弹出的时候为一个正数
                int heightDifference = activity.getWindow().getDecorView().getRootView().getHeight() - rect.bottom;
                //动态监听键盘高度,更改最底部的view的高度将其他view挤上去
                LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) postCommentBinding.bottom.getLayoutParams();
                layoutParams.height = heightDifference;
                postCommentBinding.bottom.setLayoutParams(layoutParams);
            }
        });

本文地址:https://blog.csdn.net/weixin_43942430/article/details/108706262

相关标签: 功能总结