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

原创 2017年01月03日 22:20:19

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

            }

        });
版权声明:本文为博主原创文章,未经博主允许不得转载。

RecyclerView踩坑之输入法弹出数据自动滚动

RecyclerView在使用过程中确实能称之为神器,但也难免会遇到各种问题,接下来就把我今天遇到的问题来记录一下。 背景是建立在IM上的,我们使用环信来做即时通讯。聊天窗口就是使用Recycler...
  • wmandsjx
  • wmandsjx
  • 2017年01月04日 15:46
  • 2228

解决在软键盘弹出的时候挤压或者遮盖原有的布局

首先来看一下两种情况,对用户来说体验真是不好 第一种:试图被遮盖,用户看不到输入的框框 第二种情况:试图整个被往上挤压,导致博主上面的标题栏被顶上去了 这两种站在用户的角度上都是不好的,所以给...
  • u011692041
  • u011692041
  • 2016年07月18日 09:04
  • 7045

RecyclerView和EditText焦点冲突和输入法软键盘把布局顶出屏幕之外的解决

环境:如图:下面的RecyclerView中的item里面的数字部分是EditText.在刚完成的时候就发现了一个问题.RecyclerView和EditText合用的时候请求焦点冲突,造成输入法软键...
  • longforus
  • longforus
  • 2017年04月18日 19:09
  • 4083

ScrollView嵌套Recyclerview,列表项包含EditText,点击EditText获取焦点崩溃

解决方法: 在Recyclerview的外层嵌套一个LinearLayout或Relativelayout.错误信息: java.lang.IllegalArgumentException: pa...
  • tangletao
  • tangletao
  • 2017年09月22日 20:52
  • 121

解决RecyclerView实现聊天界面,但点击下面的EditText后弹出的输入法会遮盖RecyclerView内容的方法

学习Android也将近4个年头了,一直想写点自己所学的内容来帮助后来人,为互联网奉献自己的一份力量,也算自己的积累。但是之前由于自己的惰性一直没有下笔,那就从今天这一篇开始吧! 我们做An...
  • qq_32258857
  • qq_32258857
  • 2017年09月05日 14:53
  • 1567

使用RecyclerView编写聊天界面及demo

  • 2016年12月01日 23:35
  • 4.32MB
  • 下载

RecyclerView跳转到指定位置的三种方式

自从android5.0推出RecyclerView以后,RecyclerView越来越受广大程序员的热爱了!大家都知道RecyclerView的出现目的是为了替代listview和ScrollVie...
  • huangxiaoguo1
  • huangxiaoguo1
  • 2016年12月17日 14:23
  • 20008

Android 判断虚拟键盘的弹出状态和在RecyclerView加载更多的应用

1.通过布局的根目录,判断虚拟键盘的弹出与否: ViewTreeObserver viewTreeObserver = rootView.getViewTreeObserver(); ...
  • qianyedoufulao
  • qianyedoufulao
  • 2016年11月23日 16:12
  • 715

仿微信 QQ聊天布局 顶部title固定,底部是EditText,中间是RecyclerView,弹出软键盘,RecyclerView上移,标题不动

仿微信 QQ聊天布局 顶部title固定,底部是EditText,中间是RecyclerView,弹出软键盘,RecyclerView上移,标题不动LinearLayoutManager linear...
  • yin13753884368
  • yin13753884368
  • 2017年07月25日 10:27
  • 1262

RecyclerView实现对话框时键盘遮住对话内容问题.md

问题描述 在使用RecyclerView实现仿微信对话功能时,出现点击Edittext弹出键盘遮住对话内容的问题。 解决办法 在清单文件中设置android:windowSoftInputMode="...
  • leary007
  • leary007
  • 2017年06月28日 18:32
  • 863
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:承接上一篇:说说评论弹出editext,计算软键盘高度,使listview,recyclerview上滑指定高度
举报原因:
原因补充:

(最多只允许输入30个字)