AndroidRecyclerView打造悬浮效果的实现代码-创新互联

本文介绍了Android RecyclerView悬浮效果,分享给大家,具体如下:

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、虚拟空间、营销软件、网站建设、衡东网站维护、网站推广。

先看个效果

这是一个City列表,每个City都有所属的Province,需要在滑动的时候,将对应的Province悬浮在顶部。悬浮顶部的Province需要根据列表的滑动而适当改变位置,实现“顶上去”的效果。

实现思路:

  1. 利用RecyclerView.ItemDecoration绘制Province(就像绘制分割线一样)
  2. 同一组的City,只绘制一个Province
  3. 计算偏移,将当前Province固定在顶部
  4. 根据列表滑动,实现偏移效果

ItemDecoration

既然是利用RecyclerView.ItemDecoration实现的悬浮效果,那么有必要了解下它。


ItemDecoration字面意思:Item的装饰。是的!是装饰!不只是画分割线。


其实ItemDecoration的功能非常强大,而我们平时只是用它来实现分割线的效果(至少我是这样)。因此,可能很多同学认为ItemDecoration就是用来绘制分割线的。其实不然,ItemDecoration的功能远不止是分割线的绘制。

先看下RecyclerView.ItemDecoration的源码(部分):

public static abstract class ItemDecoration {
 ...
 public void onDraw(Canvas c, RecyclerView parent, State state) {
  onDraw(c, parent);
 }
 public void onDrawOver(Canvas c, RecyclerView parent, State state) {
  onDrawOver(c, parent);
 }
 public void getItemOffsets(Rect outRect, View view, RecyclerView parent, State state) {
  getItemOffsets(outRect, ((LayoutParams) view.getLayoutParams()).getViewLayoutPosition(),
    parent);
 }
}

网站栏目:AndroidRecyclerView打造悬浮效果的实现代码-创新互联
文章起源:http://bzwzjz.com/article/cseghp.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都做网站建设公司 成都网站建设 四川成都网站建设 外贸网站设计方案 网站设计 成都网站建设 成都商城网站建设 响应式网站设计方案 温江网站设计 成都网站建设 成都网站建设 成都网站设计 成都网站设计 营销网站建设 网站建设方案 成都网站制作公司 定制网站设计 营销型网站建设 网站设计制作报价 成都网站建设 成都商城网站制作 高端网站设计