针对键盘弹出/消失及聊天工具的显示与消失时recyclerView内容滚动的问题

效果类似手机QQ,保持消息内容相对位置不变

mRecyclerView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {private int flagPosition;//the position of last visible itemprivate int flagTop;//the distance between the last visible item and bottom@Overridepublic void onLayoutChange(View v, int left, int top, int right, int bottom, int oldLeft, int oldTop, int oldRight, int oldBottom) {int dy = oldBottom - bottom;LinearLayoutManager layoutManager = (LinearLayoutManager) mRecyclerView.getLayoutManager();if (dy > 0) {mRecyclerView.scrollBy(0, dy);flagPosition = layoutManager.findLastVisibleItemPosition();View view = layoutManager.findViewByPosition(flagPosition);if (view != null) {flagTop = view.getTop() - bottom;}} else {View view = layoutManager.findViewByPosition(flagPosition);if (view != null) {mRecyclerView.scrollBy(0, view.getTop() - bottom - flagTop);} else {mRecyclerView.scrollBy(0, dy);}}}
});

RecyclerView滚动适配解决方案相关推荐

  1. 目前Android最全面、最易懂的Android屏幕适配解决方案

    前言 Android的屏幕适配一直以来都在折磨着我们Android开发者,本文将结合: Google的官方权威适配文档 郭霖: Android官方提供的支持不同屏幕大小的全部方法 Stormzhang ...

  2. 用startSmoothScroll实现RecyclerView滚动到指定位置并置顶,含有动画。

    RecyclerView滚动到指定位置并置顶 RecyclerView本身提供了几个定位的方法,除了手动滑动的scrollTo,smootScrollTo和scrollBy,smoothScrollB ...

  3. Android 系统(186)---最易懂的Android屏幕适配解决方案--总结版

    最易懂的Android屏幕适配解决方案--总结版 本文参考自: Google的官方权威适配文档 郭霖:Android官方提供的支持不同屏幕大小的全部方法 Stormzhang:Android 屏幕适配 ...

  4. Qt之高DPI显示器(二) - 自适配解决方案分析

    Qt之高DPI显示器(二) - 自适配解决方案分析 参考文章: (1)Qt之高DPI显示器(二) - 自适配解决方案分析 (2)https://www.cnblogs.com/swarmbees/p/ ...

  5. recyclerview滚动到指定条目

    android recyclerview滚动到指定条目 自从android5.0推出RecyclerView以后,RecyclerView越来越受广大程序员的热爱了!大家都知道RecyclerView ...

  6. RecyclerView滚动指定条目并在页面中居中

    RecyclerView滚动指定条目并在页面中居中 内容提要 本次的需求是通过指定position来控制条目滚动,并且要滚动到指定到中间的位置. 下面先上图,看看是不是你要 如下介绍主要的步骤 带着问 ...

  7. vue移动端适配解决方案

    手淘适配解决方案 阿里巴巴淘宝团队出品的amfe-flexible是一个用于解决移动端不同机型适配的包.在其源码中,通过不同屏幕的像素比来设置scale值,保证当前窗口的device-width始终等 ...

  8. 【原】android【手机】屏幕适配解决方案,完美适配适配hdpi,xhdpi,xxhdpi的做法。

    [原]android[手机]屏幕适配解决方案,完美适配适配hdpi,xhdpi,xxhdpi的做法. 参考文章: (1)[原]android[手机]屏幕适配解决方案,完美适配适配hdpi,xhdpi, ...

  9. Android开发:最全面、最易懂的Android屏幕适配解决方案

    目录 Android屏幕适配解决方案.png 定义 使得某一元素在Android不同尺寸.不同分辨率的手机上具备相同的显示效果 相关重要概念 屏幕尺寸 含义:手机对角线的物理尺寸 单位:英寸(inch ...

最新文章

  1. [原]不祥的CPU——Alpha
  2. nginx.redis.mysql_nginx,redis_mysql和redis效率问题,nginx,redis,mysql,php - phpStudy
  3. 【干货】2014年iOS推广四大秘籍
  4. c++调用Java以及string互转
  5. 从零构建vue+webpack (一)
  6. s11.9 sar:收集系统信息
  7. mysql 使用正则表达式查询
  8. django 1.8 官方文档翻译:14-5 信号
  9. @程序员,如何用最少的字节编写 C64 可执行文件?
  10. linux中断处理体系结构
  11. 小米电视4s android,小米电视系列ROOT教程(含4A,4S,4X等Android6.0.1版机型)
  12. 软件人才争夺战日趋白热化
  13. python常用单词
  14. scrapy使用用Xpath提取深层标签
  15. Dubbo协议模块源码剖析
  16. 胡凡算法笔记第二章摘录
  17. 编码理论第十一章:LDPC码原理学习及其习题分析
  18. 云计算系统测试之技术概念
  19. 世上无难事,只要肯攀登
  20. mybatis plus 事务管理器_最全MyBatis核心配置文件总结,可以作为工具先收藏了

热门文章

  1. WiFi联盟认证、WiFi联盟测试、WiFi联盟认证测试周期、WiFi联盟会员费是多少?
  2. 机器人运动逆解算IK
  3. 2011何凯文四六级冲刺视频及讲义
  4. mysql 时区 , 夏令时,冬令时
  5. 916计算机网络概论哪些学校,2019计算机网络概论考研大纲(916)
  6. pdb断点命令_关于python:使用pdb的条件断点
  7. 腾讯的硬盘里,有互联网的昨天今天和明天
  8. plt转pdf软件_PDF 转 Word 有什么好用的电脑与手机的软件?
  9. 【推荐】javaweb JAVA JSP 快递信息管理系统物流快递网站物流管理系统源码邮件管理网站
  10. vsm什么意思_VSM 价值流程图(详解)!