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://hxwzsj.com/article/cseghp.html

其他资讯

Copyright © 2025 青羊区翔捷宏鑫字牌设计制作工作室(个体工商户) All Rights Reserved 蜀ICP备2025123194号-14
友情链接: 网站建设 成都网站制作 专业网站设计 成都做网站建设公司 攀枝花网站设计 上市集团网站建设 自适应网站设计 定制网站建设多少钱 成都网站设计 手机网站制作设计 成都商城网站建设 品牌网站建设 定制网站制作 定制网站建设 定制网站设计 成都网站设计制作公司 成都网站设计 专业网站建设 LED网站设计方案 重庆网站制作 企业网站建设 营销网站建设