效果图有红点的地方表示有未读消息,依次双击首页图标定位,然后定位到某个未读在手动下滑一点距离在次点击定位效果

用过 RecyclerView 的人都知道,自带有几个滚动到item下标的方法,但是不靠谱,靠谱的又没有平滑效果,所以还是得自己写,主要是模仿了微信的一些定位逻辑

首先,要滚动到指定的坐标出,可以借用recyclerview自带的几个方法,但是无论哪个方法首先得需要指定position,所以第一件事情就是先把position找准确了

上面代码就是查询出可见条目开始最近的一条未读item的position,接下来就是直接平滑滚动定位到未读的item条目了,这里就需要用到两个方法了, smoothScrollToPosition 这个方法是有平滑效果的,但是只能从下往上的时候才是我们想要的效果,所以我们还需要用另外的方法用于从上往下平滑滚动

这里用 smoothScrollBy 来滚动,smoothScrollBy方法需要一个top坐标,而不是position,所以这个需要先获取到定位item的top坐标,这里recyclerview也都有自带的方法,所以最后的方法如下

到这里就可以达到上面效果图的效果了,每次双击都会找到你显示位置的下一个未读item,然后定位平滑过去,上滑一点在次双击回到最近的未读item,到达最后一条item自动回滚到开始第一条未读item

GitHub:https://github.com/1024477951/FragmentApp

转载于:https://www.cnblogs.com/LiuZhen/p/9884948.html

仿微信未读RecyclerView平滑滚动定位效果相关推荐

  1. android 未读信息反复提醒,Android仿微信未读消息数提示显示数字BadgeView大于99条显示99+...

    [实例简介] Android仿微信未读消息数提示显示数字BadgeView大于99条显示99+ [实例截图] [核心代码] BadgeView └── BadgeView ├── app │   ├─ ...

  2. 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。 类似于图中效果

    第 0000 题:将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果. 类似于图中效果 这个问题需要用到PIL库,涉及到一些非常基本的用法.代码如下: from ...

  3. 第 0000 题: 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。

    第 0000 题: 将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果. from PIL import Image,ImageFont,ImageDraw,I ...

  4. 用Python实现在微信头像右上角加上红底白字的数字,类似于微信未读信息数量那种提示效果

    本文为原创文本,转载请注明出处~ 本人最近开始学习Python编程.昨天本人用Python写了一个比较有意思的小程序.可以在微信头像右上角加上红底白字的数字,类似于微信未读信息数量那种提示效果.更换处 ...

  5. 【每日python小程序练习】第一天:将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。

    题目:将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果. 类似于图中效果 from PIL import Image,ImageDraw,ImageFont ...

  6. python头像右上角加红色数字_Python初学:将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果。...

    简介 最近有时间的时候就看看Python,感觉很是强大.在网上看到一个比较不错的练习Python 练习册,每天一个小程序,就一块跟着练习一下,不然只看完了语法,也没啥意义. 通过这个可以批量对图片进行 ...

  7. android动态显示数字,2018-09-26【Android仿微信未读消息数提示数字之BadgeView的使用】...

    给View添加一个角标---ViewBadger的使用 开源地址:https://github.com/jgilfelt/android-viewbadger ImageView iv = (Imag ...

  8. android qq消息数 拖拽动画,史上最详细仿QQ未读消息拖拽粘性效果的实现

    好久没写文章了,前段时间由于项目代码重构忙了一段时间,现在终于有点时间了就为大家带来一篇关于动画学习的自定义View:类似QQ消息拖拽的效果. 其实QQ当时更新的时候我还没注意到这个小红点是可以拖拽的 ...

  9. python头像右上角加红色数字_将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果...

    首先,要安装PIL库,在pytho3中已经叫Pillow,安装命令:pip install Pillow 但是在应用时要导入的名字还叫:PIL 在图片上的新生成的数字可以用随机数,所以还需要导入一个r ...

最新文章

  1. 面试官:你说你熟悉jvm?那你讲一下并发的可达性分析
  2. eclipse部署的web项目没有添加到Tomcat的webapps目录下解决方法
  3. 支持向量机:Outliers
  4. 智能推荐算法在直播场景中的应用
  5. python无参数装饰器_python_之无参装饰器_01
  6. 【渝粤题库】国家开放大学2021春3700汽车电工电子基础题目
  7. html代码里面换图片不显示不出来了,微擎 Ueditor 百度编辑器 替换图片不显示问题...
  8. 容器服务kubernetes弹性伸缩高级用法
  9. 发生在“注解”@的那些事儿
  10. Java工作笔记-发送SOAP协议请求
  11. ReactJs 高级篇一 Context 使用
  12. Tomcat修改源码,重新编译
  13. Linux 下源代码阅读工具 —— vim + TagList + CTags
  14. python如何安装numpy模块?
  15. 郑大第九届校赛正式赛(1819: 加加加!(油))
  16. Foxmail不显示图片的处理方法
  17. Web 3.0让网络巨头们恐慌?Dapp爆发潮的到来会更让人颤抖!
  18. 黑苹果驱动神器Hackintool 3.4.4中文版
  19. java代码耗尽内存_windows server 2008 环境下,运行java程序,内存耗尽问题
  20. 多少人败给了一个字:等……

热门文章

  1. 冒泡、选择、插入排序算法
  2. ajax返回JSON时的处理方式
  3. 类的继承私有成员问题
  4. ScrollView 分割屏幕效果
  5. C++:new 和 delete
  6. PHPCMS V9.3.2用户注册模板中的一个低级Bug
  7. 2006世界杯赛程表,不能错过:)
  8. 『OpenCV3』滤波器实现及使用滤波器降噪
  9. jQuery Validate 提交表单验证失败扩展方法
  10. Eclipse中javascript文件 clg 变为console.log();