wxk105的博客

做人啊一定要谦虚,多听听他人的意见,然后认真记下来对你有意见的都是谁。...

承接上一篇:说说评论弹出editext,计算软键盘高度,使listview,recyclerview上滑指定高度

最近项目中遇到问题:就是当软键盘弹出,editext输入时,遮挡listview,recyclerview条目,体验效果不好;
网上搜集,验证,找了个好的方法,希望能给大家项目中带来帮助;

通过监听editext计算软键盘高度
通过这个方法即可获得软键盘高度,很简单的。

et_comment.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {

            //当键盘弹出隐藏的时候会 调用此方法。
            @Override
            public void onGlobalLayout() {
                Rect r = new Rect();
                //获取当前界面可视部分
                getWindow().getDecorView().getWindowVisibleDisplayFrame(r);
                //获取屏幕的高度
                int screenHeight = getWindow().getDecorView().getRootView().getHeight();
                //此处就是用来获取键盘的高度的, 在键盘没有弹出的时候 此高度为0 键盘弹出的时候为一个正数
                srfHeight = screenHeight - r.bottom;
                if (srfHeight > 0) {
                //让listview滚动到指定条目距离顶部,1/3的软键盘高度,正好在说说下方
                    lv_cir.getRefreshableView().setSelectionFromTop(cusPos + 1, -srfHeight / 3);
                }

            }

        });
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wxk105/article/details/53998870
个人分类: 项目中小功能抽离
上一篇xrecyclerView带下拉刷新,上拉加载已封装好可直接依赖使用
下一篇android 项目中创建带圆角的背景
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭