关闭

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

标签: 软键盘高度遮挡评论条目editext
674人阅读 评论(0) 收藏 举报
分类:

最近项目中遇到问题:就是当软键盘弹出,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);
                }

            }

        });
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:9926次
    • 积分:380
    • 等级:
    • 排名:千里之外
    • 原创:24篇
    • 转载:0篇
    • 译文:0篇
    • 评论:94条
    最新评论