转载至:https://blog.csdn.net/qian520ao/article/details/76167193

ItemDecoration是recyclerView拓展的一个很好工具,支持我们在recyclerView上面做各种操作,而且耦合性低,容易添加。这篇我们先用ItemDecoration来做悬浮/粘性头部,后面还可以用ItemDecoration做时间轴,手机通讯录联系人右侧字母导航栏。

老规矩,先上图。

集成方式

github地址:https://github.com/qdxxxx/StickyHeaderDecoration
天气热,本github已安装空调,star即可免费享用~~

  • 注入依赖
    Step 1. Add the JitPack repository to your build file
    Step 2. Add the dependency
    allprojects {repositories {...maven { url 'https://jitpack.io' }}}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
    dependencies {compile 'com.github.qdxxxx:StickyHeaderDecoration:1.0.1'}
  • 1
  • 2
  • 3

Activity里面集成代码

  • 分组头部
        NormalDecoration decoration = new NormalDecoration() {@Overridepublic String getHeaderName(int pos) {return //返回每个分组头部名称;}};
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 自定义头部/悬浮头部layout】【自定义头部加载图片请用 loadImage()方法】

    decoration.setOnDecorationHeadDraw(new NormalDecoration.OnDecorationHeadDraw() {@Overridepublic View getHeaderView(int pos) {return //返回自定义头部view;}});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 头部点击事件

  •     decoration.setOnHeaderClickListener(new NormalDecoration.OnHeaderClickListener() {@Overridepublic void headerClick(int pos) {}});
    • 1
    • 2
    • 3
    • 4
    • 5

    GridLayoutManager请配合GridDecoration使用。

    方法及属性介绍


    name format 中文解释
    setHeaderHeight integer 分组头部高度
    setTextPaddingLeft integer 普通分组头部【只含文字】文字左边距
    setTextSize integer 普通分组头部【只含文字】文字大小
    setTextColor integer 普通分组头部【只含文字】文字颜色
    setHeaderContentColor integer 普通分组头部【只含文字】文字背景颜色
    onDestory 清空数据集合/监听等
    *loadImage String,integer,ImageView 用来加载并刷新图片到分组头部【自定义头部很重要的方法!】

    实现解刨

    又要开始漫天代码的解刨了,非专业战斗人员…请务必耐着性子看。
    首先我们来划分几个主要的功能模块

    • 预留不同分组的头部空间
    • 绘制不同分组头部
    • 绘制悬浮头部
    • 悬浮头部粘性效果(上推效果)
    • 头部点击处理
    • 自定义layout的头部
    • GridLayoutManager的适配

    进击的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);}
    }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    里面是我们常用的三个方法:

    • getItemOffsets:通过Rect为每个Item设置偏移,用于绘制Decoration。
    • onDraw:通过该方法,在Canvas上绘制内容,在绘制Item之前调用。(如果没有通过getItemOffsets设置偏移的话,Item的内容会将其覆盖)
    • onDrawOver:通过该方法,在Canvas上绘制内容,在Item之后调用。(画的内容会覆盖在item的上层)

    RecyclerView 的背景、onDraw绘制的内容、Item、onDrawOver绘制的内容,各层级关系如下:

    这里写图片描述

    表示感谢【带心情去旅行】


    预留不同分组的头部空间

    我们为每个不同头部名称的第一个item设置头部高度

    根据上面的讲解,我们用getItemOffsets()方法设置分组的item头部,我们只要判断当前item和上一个item是否属于同一个group即可。

            /*我们为每个不同头部名称的第一个item设置头部高度*/int pos = parent.getChildAdapterPosition(itemView); //获取当前itemView的位置String curHeaderName = getHeaderName(pos);         //根据pos获取分组头部名if (pos == 0 || !curHeaderName.equals(getHeaderName(pos - 1))) {//如果当前位置为0,或者与上一个item头部名不同的,都腾出头部空间outRect.top = headerHeight;                                 //设置itemView PaddingTop的距离}
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    绘制不同分组头部

    onDrawOver()来绘制分组头部,相当于绘制在item的界面之上(因为item已经设置了偏移)
    和上述方法一样,我们先获得每个分组的位置,然后绘制文字即可(自定义layout亦是如此)

    • 我们先获取当前屏幕所有recyclerView显示的item
    • 如果头部距离顶部==2*headerHeight时,悬浮头部就要向上偏移(上推效果)
    • 头部距离顶部==headerHeight时,悬浮头部偏移headerHeight(推离屏幕效果)
            int childCount = recyclerView.getChildCount();//获取屏幕上可见的item数量
    
    • 1
    • 2
            for (int i = 0; i < childCount; i++) {View childView = recyclerView.getChildAt(i);int pos = recyclerView.getChildAdapterPosition(childView); //获取当前view在Adapter里的posString curHeaderName = getHeaderName(pos);                 //根据pos获取要悬浮的头部名int viewTop = childView.getTop() + recyclerView.getPaddingTop();if (pos == 0 || !curHeaderName.equals(getHeaderName(pos - 1))) {//如果当前位置为0,或者与上一个item头部名不同的,都腾出头部空间//绘制每个组头【奥迪上头的a(阿尔法罗密欧上头就不用绘制a),本田上头的b】canvas.drawRect(left, viewTop - headerHeight, right, viewTop, mHeaderContentPaint);//绘制头部背景canvas.drawText(curHeaderName, left + textPaddingLeft, viewTop - headerHeight / 2 + txtYAxis, mHeaderTxtPaint);//绘制文字,文字的基线可以看我的自定义菜单,有说到if (headerHeight < viewTop && viewTop <= 2 * headerHeight) { //此判断是刚好2个头部碰撞,悬浮头部就要偏移translateTop = viewTop - 2 * headerHeight;//悬浮头部需要偏移的距离(y轴方向)}stickyHeaderPosArray.put(pos, viewTop);//将头部信息放进array,【头部点击处理有讲解】}}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    绘制悬浮头部

    通过上面的方法,我们就能绘制出每个分组的头部。最后我们绘制一次悬浮的头部

            canvas.save();canvas.translate(0, translateTop);canvas.drawRect(left, 0, right, headerHeight, mHeaderContentPaint);canvas.drawText(firstHeaderName, left + textPaddingLeft, headerHeight / 2 + txtYAxis, mHeaderTxtPaint);
    //      canvas.drawLine(0, headerHeight / 2, right, headerHeight / 2, mHeaderTxtPaint);//画条线看看文字居中不canvas.restore();
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    头部点击处理

    头部点击这个一开始的确有点棘手,因为这个分组的头部是我们额外绘制上的,就必须要通过自己的计算和存储头部信息。
    我们在绘制头部的时候,通过SparseArray将头部信息存储集合里,但是每onDrawOver的时候都要clear一下,确保头部数据正确。
    最后通过GestureDetector来处理用户触摸事件,根据用户触摸的y轴位置来判断SparseArray是否包含该位置。

            @Override//单击事件public boolean onSingleTapUp(MotionEvent e) {for (int i = 0; i < stickyHeaderPosArray.size(); i++) {int value = stickyHeaderPosArray.valueAt(i);float y = e.getY();if (value - headerHeight <= y && y <= value) {//如果点击到分组头if (headerClickEvent != null) {headerClickEvent.headerClick(stickyHeaderPosArray.keyAt(i));}return true;}}return false;}
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    自定义layout的头部

    绘制自定义layout的头部有2个要点

    • 如何将layout布局绘制到canvas上
    • 如果layout里有图片,图片加载完成后需要通知canvas刷新,以显示头部图片(否则需要用户滑动才能更新图片)
    绘制view到canvas

    我们可以通过view.setDrawingCacheEnabled(true)方法,通过cache将view转化为bitmap,在用headerView.getDrawingCache()获取bitmap对象。

        View headerView = headerDrawEvent.getHeaderView(firstPos);headerView.measure(//measure布局View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED),View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED));headerView.setDrawingCacheEnabled(true);headerView.layout(0, 0, right, headerHeight);//布局layoutcanvas.drawBitmap(headerView.getDrawingCache(), left, 0, null);
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    但是如果view里面包含图片的话,图片不太可能是我们事先存储好的,而是通过网络请求获得的图片url,然后再加载。所以这也是一个难点之一。

    通过url绘制图片到头部
    • 如果图片暂未加载完成,通过Glide加载,加载完成后通过map集合来存储图片。
    • 图片加载完成后用mRecyclerView.postInvalidate(),从而间接性的手动调用onDrawOver()方法,重新绘制已经加载好的图片。
    public void loadImage(final String url, final int pos, ImageView imageView) {if (imgDrawableMap.get(url) != null) {//如果图片已经加载过了,并且已经存储imageView.setImageDrawable(imgDrawableMap.get(url));} else {Glide.with(mRecyclerView.getContext()).load(url).into(new SimpleTarget<Drawable>() {@Overridepublic void onResourceReady(Drawable resource, Transition<? super Drawable> transition) {headViewMap.remove(pos);//删除,重新更新imgDrawableMap.put(url, resource);mRecyclerView.postInvalidate();}});}}
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    更多详细功能请移步NormalDecoration,并配合onDrawOver()解析。
    所以自定义layout有图片请务必使用loadImage()方法,以便及时讲加载完的图片绘制到界面上。

    GridLayoutManager的适配

    GridGridDecoration也有2个难点突破

    • 设置item的getItemOffsets,不仅仅是分组头
    • 设置当前分组的最后一个item的Span.
    • 其它的就不需要我们设置了,normalDecoration已经帮我们完成了【自信回头】

    public abstract class GridDecoration extends NormalDecoration {private int itemTotalCount;public GridDecoration(int itemTotalCount, int span) {this.itemTotalCount = itemTotalCount;for (int pos = 0; pos < itemTotalCount; pos++) {/*我们为每个不同头部名称的第一个item设置头部高度*/String curHeaderName = getRealHeaderName(pos);         //根据j获取要悬浮的头部名if (!headerPaddingSet.contains(pos) && (pos == 0 || !curHeaderName.equals(getRealHeaderName(pos - 1)))) {//如果是分组头部groupHeadPos.add(pos);for (int i = 0; i < span; i++) {headerPaddingSet.add(pos + i);if (!curHeaderName.equals(getRealHeaderName(pos + i + 1))) {//如果下一个分组名称不一致,passbreak;}}}if (!curHeaderName.equals(getRealHeaderName(pos + 1)) && groupHeadPos.size() > 0) {int preHeadPos = (int) ((TreeSet) (groupHeadPos)).last();int padSpan = span - (pos - preHeadPos) % span;headerSpanArray.put(pos, padSpan);}}}private Set<Integer> headerPaddingSet = new TreeSet<>();                //用来记录每个头部的paddintTop信息private Set<Integer> groupHeadPos = new TreeSet<>();                    //记录每个分组第一个头部的pos【用于计算当前组最后一个item的span】private SparseArray<Integer> headerSpanArray = new SparseArray<>();     //用来记录每个分组最后一个item的spanprivate GridLayoutManager.SpanSizeLookup lookup;@Overridepublic void getItemOffsets(Rect outRect, View itemView, RecyclerView parent, RecyclerView.State state) {super.getItemOffsets(outRect, itemView, parent, state);if (lookup == null) {lookup = new GridLayoutManager.SpanSizeLookup() {//相当于weight@Overridepublic int getSpanSize(int position) {int returnSpan = 1;int index = headerSpanArray.indexOfKey(position);if (index >= 0) {returnSpan = headerSpanArray.valueAt(headerSpanArray.indexOfKey(position));   //设置itemView PaddingTop的距离}return returnSpan;}};final GridLayoutManager gridLayoutManager = (GridLayoutManager) parent.getLayoutManager();gridLayoutManager.setSpanSizeLookup(lookup);}/*我们为每个不同头部名称的第一个item设置头部高度*/int pos = parent.getChildAdapterPosition(itemView); //获取当前itemView的位置if (headerPaddingSet.contains(pos)) {outRect.top = headerHeight;   //设置itemView PaddingTop的距离}}}
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59

    总结

    至此我们的功能都已经描述结束,做了这个小功能的确收货不少,比较多的耗时在GridDecoration的设计,因为不清楚能够动态的设置Span,一开始是通过设置itemOffsets的paddingRight去计算的,然后还要计算下一个分组的头部,各种问题,所以以后做功能时候先看看有没有api可以操作的,这样来的更方便和容易。最后附上github望小伙伴们多多点赞哈。有建议和意见还望在评论出提出~~

    https://github.com/qdxxxx/StickyHeaderDecoration

    <div class="comment-edit-box d-flex"><a id="commentsedit"></a><div class="user-img"><a href="//me.csdn.net/wzgbgz" target="_blank"><img class="" src="https://avatar.csdn.net/5/3/F/3_wzgbgz.jpg"></a></div><form id="commentform"><input type="hidden" id="comment_replyId"><textarea class="comment-content" name="comment_content" id="comment_content" placeholder="想对作者说点什么"></textarea><div class="opt-box"> <!-- d-flex --><div id="ubbtools" class="add_code"><a href="#insertcode" code="code" target="_self"><i class="icon iconfont icon-daima"></i></a></div><input type="hidden" id="comment_replyId" name="comment_replyId"><input type="hidden" id="comment_userId" name="comment_userId" value=""><input type="hidden" id="commentId" name="commentId" value=""><div style="display: none;" class="csdn-tracking-statistics tracking-click" data-mod="popu_384"><a href="#" target="_blank" class="comment_area_btn">发表评论</a></div><div class="dropdown" id="myDrap"><a class="dropdown-face d-flex align-items-center" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><div class="txt-selected text-truncate">添加代码片</div><svg class="icon d-block" aria-hidden="true"><use xlink:href="#csdnc-triangledown"></use></svg></a><ul class="dropdown-menu" id="commentCode" aria-labelledby="drop4"><li><a data-code="html">HTML/XML</a></li><li><a data-code="objc">objective-c</a></li><li><a data-code="ruby">Ruby</a></li><li><a data-code="php">PHP</a></li><li><a data-code="csharp">C</a></li><li><a data-code="cpp">C++</a></li><li><a data-code="javascript">JavaScript</a></li><li><a data-code="python">Python</a></li><li><a data-code="java">Java</a></li><li><a data-code="css">CSS</a></li><li><a data-code="sql">SQL</a></li><li><a data-code="plain">其它</a></li></ul></div>  <div class="right-box"><span id="tip_comment" class="tip">还能输入<em>1000</em>个字符</span><input type="submit" class="btn btn-sm btn-red btn-comment" value="发表评论"></div></div></form>
    </div><div class="comment-list-container"><a id="comments"></a><div class="comment-list-box"><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="8437898" data-replyname="qq_34696220">        <a target="_blank" href="https://my.csdn.net/qq_34696220"><img src="https://avatar.csdn.net/D/8/3/3_qq_34696220.jpg" alt="qq_34696220" class="avatar"></a>          <div class="right-box ">            <div class="info-box">              <a target="_blank" href="https://my.csdn.net/qq_34696220"><span class="name ">qq_34696220:</span></a>              <span class="comment">粘性头部 滑到中间位置时 点击事件获取不到 怎么解决</span><span class="date" title="2018-09-11 11:49:34">(2个月前</span><span class="floor-num">#6楼)</span><span class="opt-box"><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div>          </div>        </li></ul><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="8134461" data-replyname="fengsirui">        <a target="_blank" href="https://my.csdn.net/fengsirui"><img src="https://avatar.csdn.net/5/C/C/3_fengsirui.jpg" alt="fengsirui" class="avatar"></a>          <div class="right-box ">            <div class="info-box">              <a target="_blank" href="https://my.csdn.net/fengsirui"><span class="name ">fengsirui:</span></a>              <span class="comment">有 bug 如果recycleView 设置了 padding, header 位置乱了</span><span class="date" title="2018-06-23 13:11:48">(4个月前</span><span class="floor-num">#5楼)</span><span class="opt-box"><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div>          </div>        </li></ul><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="7906015" data-replyname="csdn_conda">        <a target="_blank" href="https://my.csdn.net/csdn_conda"><img src="https://avatar.csdn.net/5/7/E/3_csdn_conda.jpg" alt="csdn_conda" class="avatar"></a>          <div class="right-box ">            <div class="info-box">              <a target="_blank" href="https://my.csdn.net/csdn_conda"><span class="name ">打怪的小兵:</span></a>              <span class="comment">你好!如果我增加了HeaderView的情况下,怎么让列表显示正常的分组?</span><span class="date" title="2018-05-03 17:05:45">(6个月前</span><span class="floor-num">#4楼)</span><span class="opt-box"><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div>          </div>        </li></ul><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="7719188" data-replyname="qq_21822599">        <a target="_blank" href="https://my.csdn.net/qq_21822599"><img src="https://avatar.csdn.net/D/A/E/3_qq_21822599.jpg" alt="qq_21822599" class="avatar"></a>          <div class="right-box ">            <div class="info-box">              <a target="_blank" href="https://my.csdn.net/qq_21822599"><span class="name ">好吗好的:</span></a>              <span class="comment">不错,感谢楼主分享</span><span class="date" title="2018-03-21 17:10:13">(7个月前</span><span class="floor-num">#3楼)</span><span class="opt-box"><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div>          </div>        </li></ul><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="7349681" data-replyname="z437955114">        <a target="_blank" href="https://my.csdn.net/z437955114"><img src="https://avatar.csdn.net/A/5/3/3_z437955114.jpg" alt="z437955114" class="avatar"></a>          <div class="right-box ">            <div class="info-box">              <a target="_blank" href="https://my.csdn.net/z437955114"><span class="name ">安小曦:</span></a>              <span class="comment">不得不说很6</span><span class="date" title="2017-11-18 14:09:44">(1年前</span><span class="floor-num">#2楼)</span><span class="opt-box"><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div>          </div>        </li></ul><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="7337695" data-replyname="aguan1992">        <a target="_blank" href="https://my.csdn.net/aguan1992"><img src="https://avatar.csdn.net/8/A/6/3_aguan1992.jpg" alt="aguan1992" class="avatar"></a>          <div class="right-box ">            <div class="info-box">              <a target="_blank" href="https://my.csdn.net/aguan1992"><span class="name ">aguan1992:</span></a>              <span class="comment">这个有bug哈,我用在fragemnt里面,fragment切换,那个头标题会重复绘制,切换多次产生多个头空位</span><span class="date" title="2017-11-14 11:27:52">(1年前</span><span class="floor-num">#1楼)</span><span class="opt-box"><a class="btn btn-link-blue btn-read-reply" data-type="readreply">查看回复(1)</a><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div>          </div>        </li><li class="replay-box"><ul class="comment-list"><li class="comment-line-box d-flex" data-commentid="7339782" data-replyname="qian520ao">        <a target="_blank" href="https://my.csdn.net/qian520ao"><img src="https://avatar.csdn.net/8/9/7/3_qian520ao.jpg" alt="qian520ao" class="avatar"></a>          <div class="right-box reply-box">            <div class="info-box">              <a target="_blank" href="https://my.csdn.net/qian520ao"><span class="name mr-8">凶残的程序员</span></a>回复  <span class="name">aguan1992:</span>              <span class="comment">我估计是你多次调用recyclerView.addItemDecoration(decoration);了,你看看日志,decoration的方法调用了几次。</span><span class="date" title="2017-11-15 10:15:16">(1年前</span>)<span class="opt-box"><a class="btn btn-link-blue btn-report" data-type="report">举报</a><a class="btn btn-link-blue btn-reply" data-type="reply">回复</a></span></div>          </div>        </li></ul></li></ul></div><div id="commentPage" class="pagination-box d-none" style="display: block;"><div id="Paging_09612664651614162" class="ui-paging-container"><ul><li class="js-page-first js-page-action ui-pager ui-pager-disabled"></li><li class="js-page-prev js-page-action ui-pager ui-pager-disabled">上一页</li><li data-page="1" class="ui-pager focus">1</li><li class="js-page-next js-page-action ui-pager ui-pager-disabled">下一页</li><li class="js-page-last js-page-action ui-pager ui-pager-disabled"></li></ul></div></div></div>
    

    Android中头部悬浮StickyListHeader的简单使用 - Tangsan6666的博客

    11-20
    502

    一、实现效果:头部停留 不断一直保持在顶部

    二、实现步骤:
    1、导入Libary:
    compile
    ‘se.emilsjolander:stickylistheaders:2.7.0’
    2…

    来自: Tangsan6666的博客

         <div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/briblue/article/details/70211942,BlogCommendFromBaidu_1,index_1&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/briblue/article/details/70211942,BlogCommendFromBaidu_1,index_1&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/briblue/article/details/70211942" target="_blank" title="RecyclerView探索之通过ItemDecoration实现StickyHeader效果 - frank 的专栏"><h4 class="text-truncate oneline" style="width: 609px;"><em>RecyclerView</em>探索之通过ItemDecoration实现StickyHeader效果 - frank 的专栏                </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/6/B/C/3_briblue.jpg" alt="briblue" class="avatar-pic"><span class="namebox"><span class="name">briblue</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">04-17</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>1.1万</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/briblue/article/details/70211942" target="_blank" title="RecyclerView探索之通过ItemDecoration实现StickyHeader效果 - frank 的专栏"><span class="desc oneline">我在上一篇《小甜点,RecyclerView 之 ItemDecoration 讲解及高级特性实践 》 讲解了 ItemDecoration 的基本用法及它的一些实践,抱着学习研究的态度,这一篇作为实...</span></a><span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/briblue">来自:   <span class="blog_title"> frank 的专栏</span></a></span></p></div></div><div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/xiaohai695943820/article/details/76672757,BlogCommendFromBaidu_2,index_2&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/xiaohai695943820/article/details/76672757,BlogCommendFromBaidu_2,index_2&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/xiaohai695943820/article/details/76672757" target="_blank" title="sticky-headers-recyclerview库使用出现的问题 - 不忘初心"><h4 class="text-truncate oneline" style="width: 618px;">sticky-headers-<em>recyclerview</em>库使用出现的问题 - 不忘初心                </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/2/6/4/3_xiaohai695943820.jpg" alt="xiaohai695943820" class="avatar-pic"><span class="namebox"><span class="name">xiaohai695943820</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">08-04</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>807</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/xiaohai695943820/article/details/76672757" target="_blank" title="sticky-headers-recyclerview库使用出现的问题 - 不忘初心"><span class="desc oneline">sticky-headers-recyclerview的使用教程,网上已经有的是了,这里就附加教程和库的链接,想详细了解的童鞋自行点击
    

    sticy_headers_recylerview教程

    来自: 不忘初心

    <!-- 第四范式广告开关 --><div class="p4courset3_target _4paradigm_box recommend-item-box clearfix isGreatIcon"><div class="_4paradigm_box  clearfix T3" data-track-view="{&quot;mod&quot;:&quot;popu_648&quot;,&quot;con&quot;:&quot;,https://edu.csdn.net/topic/ai30?utm_source=blogt3,&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_648&quot;,&quot;con&quot;:&quot;,https://edu.csdn.net/topic/ai30?utm_source=blogt3,&quot;}"><a href="https://edu.csdn.net/topic/ai30?utm_source=blogt3" target="_blank"><div class="content-box"><h4 class="text-truncate oneline" style="width: 662px;">30W<span style="color:#ca0c16;">年薪</span>的<span style="color:#ca0c16;">人工智能</span>工程师只是“白菜价”?</h4><p class="content oneline" style="width: 702px;">机器学习|深度学习|图像处理|自然语言处理|无人驾驶,这些技术都会吗?看看真正的人工智能师都会那些关键技术?年薪比你高多少!</p></div></a></div></div><script>window.p4sdk_enable_recommendBox=true</script><div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/xiaanming/article/details/20481185,BlogCommendFromBaidu_3,index_3&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/xiaanming/article/details/20481185,BlogCommendFromBaidu_3,index_3&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/xiaanming/article/details/20481185" target="_blank" title="Android 使用开源库StickyGridHeaders来实现带sections和headers的GridView显示本地图片效果 - Mobile Internet developer"><h4 class="text-truncate oneline" style="width: 620px;">Android 使用开源库StickyGridHeaders来实现带sections和headers的GridView显示本地图片效果 - Mobile Internet developer              </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/4/F/6/3_xiaanming.jpg" alt="xiaanming" class="avatar-pic"><span class="namebox"><span class="name">xiaanming</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">03-06</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>5万</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/xiaanming/article/details/20481185" target="_blank" title="Android 使用开源库StickyGridHeaders来实现带sections和headers的GridView显示本地图片效果 - Mobile Internet developer"><span class="desc oneline">大家好!过完年回来到现在差不多一个月没写文章了,一是觉得不知道写哪些方面的文章,没有好的题材来写,二是因为自己的一些私事给耽误了,所以过完年的第一篇文章到现在才发表出来,2014年我还是会继续在CSD...</span></a><span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/xiaanming">来自:  <span class="blog_title"> Mobile Internet developer</span></a></span></p></div></div><div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/little762/article/details/79391807,BlogCommendFromBaidu_4,index_4&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/little762/article/details/79391807,BlogCommendFromBaidu_4,index_4&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/little762/article/details/79391807" target="_blank" title="Android RecyclerView粘性头部的两种实现方式 - little762的博客"><h4 class="text-truncate oneline" style="width: 610px;">Android <em>RecyclerView</em><em>粘性</em><em>头部</em>的两种实现方式 - little762的博客               </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/2/9/4/3_little762.jpg" alt="little762" class="avatar-pic"><span class="namebox"><span class="name">little762</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">02-28</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>3188</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/little762/article/details/79391807" target="_blank" title="Android RecyclerView粘性头部的两种实现方式 - little762的博客"><span class="desc oneline">先上图:
    

    &amp;lt;方式一&amp;gt;添加外部Header实现方式

    &amp;lt;方式二&amp;gt;绘制ItemDecoration实现方式

    二者实现效果一样,下面分析下…

    来自: little762的博客

         <div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/lly347705530/article/details/78951400,BlogCommendFromBaidu_5,index_5&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/lly347705530/article/details/78951400,BlogCommendFromBaidu_5,index_5&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/lly347705530/article/details/78951400" target="_blank" title="Android 从零开始实现RecyclerView分组及粘性头部效果 - AnliaLee的博客"><h4 class="text-truncate oneline" style="width: 610px;">Android 从零开始实现<em>RecyclerView</em>分组及<em>粘性</em><em>头部</em>效果 - AnliaLee的博客               </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/F/3/3/3_lly347705530.jpg" alt="lly347705530" class="avatar-pic"><span class="namebox"><span class="name">lly347705530</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">01-02</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>2255</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/lly347705530/article/details/78951400" target="_blank" title="Android 从零开始实现RecyclerView分组及粘性头部效果 - AnliaLee的博客"><span class="desc oneline">基于RecyclerView实现列表分组和粘性头部的效果</span></a><span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/lly347705530">来自:    <span class="blog_title"> AnliaLee的博客</span></a></span></p></div></div><div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/baidu_31956557/article/details/53162176,BlogCommendFromBaidu_6,index_6&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/baidu_31956557/article/details/53162176,BlogCommendFromBaidu_6,index_6&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/baidu_31956557/article/details/53162176" target="_blank" title="Android Recyclerview粘性头部 简单实现 - 苏打水解渴的博客"><h4 class="text-truncate oneline" style="width: 610px;">Android <em>Recyclerview</em><em>粘性</em><em>头部</em> 简单实现 - 苏打水解渴的博客              </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/4/8/7/3_baidu_31956557.jpg" alt="baidu_31956557" class="avatar-pic"><span class="namebox"><span class="name">baidu_31956557</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">11-14</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>1559</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/baidu_31956557/article/details/53162176" target="_blank" title="Android Recyclerview粘性头部 简单实现 - 苏打水解渴的博客"><span class="desc oneline">引言最近好久没写代码了,都是一直在维护之前的项目,由于工作的需要,学习重心最近放在了Js的学习上。以至于,我有个需求要写个Recyclerview列表,我竟然一下子忘记怎么写了,我只能去网上搜索相关的...</span></a><span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/baidu_31956557">来自:  <span class="blog_title"> 苏打水解渴的博客</span></a></span></p></div></div><div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u012728458/article/details/50260133,BlogCommendFromBaidu_7,index_7&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u012728458/article/details/50260133,BlogCommendFromBaidu_7,index_7&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/u012728458/article/details/50260133" target="_blank" title="RecyclerView粘性头部控件 - sticky-headers-recyclerview - 写点什么捏"><h4 class="text-truncate oneline" style="width: 609px;"><em>RecyclerView</em><em>粘性</em><em>头部</em>控件 - sticky-headers-<em>recyclerview</em> - 写点什么捏                </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/6/A/2/3_u012728458.jpg" alt="u012728458" class="avatar-pic"><span class="namebox"><span class="name">u012728458</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">12-11</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>1.4万</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/u012728458/article/details/50260133" target="_blank" title="RecyclerView粘性头部控件 - sticky-headers-recyclerview - 写点什么捏"><span class="desc oneline">最近使用了一个粘性头部控件sticky-headers-recyclerview,期间也遇到了不少问题,稍微介绍一下这个控件的使用和问题。
    

    Github管理地址:timehop/st…

    来自: 写点什么捏

    <div class="recommend-item-box recommend-ad-box"><div id="kp_box_60" data-pid="60" data-track-view="{&quot;mod&quot;:&quot;kp_popu_60-43&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_60-43&quot;,&quot;con&quot;:&quot;,,&quot;}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1542785853155_191" id="QIHOO__WEB__SO__1542785853155_191" style="display:block;margin:0;padding:0;border:none;width:900px;height:84px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1542785853155_191-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1542785853155_191 singleImage clk" data-href="https://s1.milkjpg.com/s?type=2&amp;r=20&amp;mv_ref=blog.csdn.net&amp;enup=CAABcXSf2AgAAtifdHEA&amp;mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&amp;bid=12bab6ef68a26f61&amp;price=AAAAAFv1Cz0AAAAAAAe3pEmGgR1dZdj8Jgz6ng==&amp;finfo=DAABCAABAAAAYggAAgAAAIUEAAM/SD11bOa8AQAIAAIAAAADCgADPY+ThHMZBioIAAQAAACFBgAGLbcIAAgADwEyCgAJAAAAAAACEBIGAAoAAAA&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&amp;uai=FeTGlAIlAhUEFt7JjuD3msWPexXyCCWYloqWByUAFRoA&amp;ubi=FdbBSxWqxbkCFcaU5xYVrqeeVxUEFRwW0p2a6BYW3smjx4HhyY97NAIWpMCQgAglBhWggeraBhW+BRUANvXbmOW55/q8awA&amp;clickid=0&amp;cpx=__OFFSET_X__&amp;cpy=__OFFSET_Y__&amp;cs=__EVENT_TIME_START__&amp;ce=__EVENT_TIME_END__&amp;csign=ae758a17b72085a1&amp;csign2=QzWflBYie8G=&amp;url=http%3A%2F%2Fztgp.wxojh.top%2F" data-pv="https://s1.milkjpg.com/s?type=1&amp;r=20&amp;tid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&amp;finfo=DAABCAABAAAAYggAAgAAAIUEAAM/SD11bOa8AQAIAAIAAAADCgADPY+ThHMZBioIAAQAAACFBgAGLbcIAAgADwEyCgAJAAAAAAACEBIGAAoAAAA&amp;mv_ref=blog.csdn.net&amp;enup=CAABcXSf2AgAAtifdHEA&amp;mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&amp;bid=12bab6ef68a26f61&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&amp;uai=FeTGlAIlAhUEFt7JjuD3msWPexXyCCWYloqWByUAFRoA&amp;ubi=FdbBSxWqxbkCFcaU5xYVrqeeVxUEFRwW0p2a6BYW3smjx4HhyY97NAIWpMCQgAglBhWggeraBhW+BRUANvXbmOW55/q8awA&amp;ds=1&amp;price=AAAAAFv1Cz0AAAAAAAe3pEmGgR1dZdj8Jgz6ng==,https://max-l.mediav.com/rtb?type=2&amp;d=100&amp;b=12bab6ef68a26f61&amp;p=2265522&amp;l=1136674&amp;s=1&amp;z=1&amp;w=AAAAAFv1Cz0AAAAAAAe34xPFjfMWbEguFNIAPA==&amp;k=NFMUrgAAAAA=&amp;i=j5w68SlES94v&amp;v=11141769802331111100018" data-clk="https://max-l.mediav.com/rtb?type=3&amp;d=100&amp;b=12bab6ef68a26f61&amp;p=2265522&amp;l=1136674&amp;s=1&amp;k=NFMUrgAAAAA=&amp;i=j5w68SlES94v&amp;v=11141769802331111100018&amp;x=__OFFSET_X__&amp;y=__OFFSET_Y__&amp;st=__EVENT_TIME_START__&amp;et=__EVENT_TIME_END__&amp;tc=&amp;turl=">
    <info-div class="wrap"><info-div class="singleImage-img singleImage-img-left"><info-div class="img" style="background-image:url(https://s3m.mediav.com/galileo/618603-8c03394c86902bc4359f63befa732077.jpg)"><info-div class="ads-tag"></info-div></info-div></info-div><info-div class="singleImage-body singleImage-body-left"><info-div class="singleImage-title">早知道腰椎疼这么简单就能好,还做什么手术啊!</info-div><info-div class="singleImage-desc">召家 · 燨燚</info-div></info-div>
    
         <div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/oushangfeng123/article/details/47500009,BlogCommendFromBaidu_8,index_8&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/oushangfeng123/article/details/47500009,BlogCommendFromBaidu_8,index_8&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/oushangfeng123/article/details/47500009" target="_blank" title="简单粗暴实现RecycleView的瀑布流的粘性头部(非ItemDecoration实现) - oushangfeng123的专栏"><h4 class="text-truncate oneline" style="width: 610px;">简单粗暴实现RecycleView的瀑布流的<em>粘性</em><em>头部</em>(非ItemDecoration实现) - oushangfeng123的专栏              </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/D/F/7/3_oushangfeng123.jpg" alt="oushangfeng123" class="avatar-pic"><span class="namebox"><span class="name">oushangfeng123</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">08-13</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>4427</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/oushangfeng123/article/details/47500009" target="_blank" title="简单粗暴实现RecycleView的瀑布流的粘性头部(非ItemDecoration实现) - oushangfeng123的专栏"><span class="desc oneline">项目要用到粘性头部,以前的ListView和GridView的还好整,RecycleView的一片茫然,在github上找了很多发现好复杂,使用ItemDecoration实现,这货以我的智商真难搞懂...</span></a><span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/oushangfeng123">来自:    <span class="blog_title"> oushangfeng123的专栏</span></a></span></p></div></div><div class="recommend-item-box type_hot_word"><div class="content clearfix oneline" style="width: 702px;"><h5 class="float-left">文章热词</h5><div class="word float-left"><span><a href="https://edu.csdn.net/courses/o5329_s5330_k " target="_blank">机器学习                    </a></span><span><a href="https://edu.csdn.net/courses/o5329_s5330_k " target="_blank">机器学习课程                   </a></span><span><a href="https://edu.csdn.net/courses/o5329_s5330_k " target="_blank">机器学习教程                   </a></span><span><a href="https://edu.csdn.net/combos/o5329_s5331_l0_t " target="_blank">深度学习视频教程                   </a></span><span><a href="https://edu.csdn.net/combos/o5329_s5331_l0_t " target="_blank">深度学习学习                 </a></span></div></div><div class="content clearfix oneline" style="width: 702px;"><h5 class="float-left">相关热词</h5><div class="float-left"><span><a href="https://www.csdn.net/gather_25/MtTakg4sODUxMy1ibG9n.html" target="_blank">android粘性头部</a></span><span><a href="https://www.csdn.net/gather_28/MtTakg4sMDg4MS1ibG9n.html" target="_blank">android 通讯录粘性布局</a></span><span><a href="https://www.csdn.net/gather_2a/MtTakg5sMDYwNy1ibG9n.html" target="_blank">android recyclerview刷新</a></span><span><a href="https://www.csdn.net/gather_20/MtTakg5sMTM1OS1ibG9n.html" target="_blank">android如何引入recyclerview</a></span><span><a href="https://www.csdn.net/gather_26/MtTakg4sNzY4Mi1ibG9n.html" target="_blank">android自带下拉刷新的recyclerview</a></span><span><a href="https://www.csdn.net/gather_4a/MtSa1glsZHUO0O0O.html" target="_blank">python教程+chm</a></span><span><a href="https://www.csdn.net/gather_4a/MtTaQgtsZWR1.html" target="_blank">python教程百家号</a></span></div></div></div><div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/vily_luky/article/details/79006341,BlogCommendFromBaidu_9,index_9&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/vily_luky/article/details/79006341,BlogCommendFromBaidu_9,index_9&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/vily_luky/article/details/79006341" target="_blank" title="给recycleView 相同某一属性排序,粘性头部控件sticky-headers-recyclerview - vily_luky的博客"><h4 class="text-truncate oneline" style="width: 618px;">给recycleView 相同某一属性排序,<em>粘性</em><em>头部</em>控件sticky-headers-<em>recyclerview</em> - vily_luky的博客             </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/4/8/D/3_vily_luky.jpg" alt="vily_luky" class="avatar-pic"><span class="namebox"><span class="name">vily_luky</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">01-08</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>293</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/vily_luky/article/details/79006341" target="_blank" title="给recycleView 相同某一属性排序,粘性头部控件sticky-headers-recyclerview - vily_luky的博客"><span class="desc oneline">1,学习网址:
    

    sticky-headers-recyclerview
    2,compile 'com.timehop.stickyheadersrecyclerview:library:[0.4.3…

    来自: vily_luky的博客

            <div class="recommend-item-box blog-expert-recommend-box" style="display: block;"><div class="d-flex"><div class="blog-expert-recommend"><div class="blog-expert"><div class="blog-expert-flexbox" data-track-view="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/qian520ao/article/details/76167193&quot;}"><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-track-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/qian520ao/article/details/76167193&quot;}"><a href="https://blog.csdn.net/walid1992" target="_blank"><img src="https://avatar.csdn.net/7/A/C/3_walid1992.jpg" alt="王永迪"><svg class="icon" aria-hidden="true"><use xlink:href="#csdnc-blogexpert"></use></svg></a></div><div class="info"><span data-track-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/qian520ao/article/details/76167193&quot;}"><a href="https://blog.csdn.net/walid1992" target="_blank"><h5 class="oneline">王永迪</h5></a></span>  <p><span data-track-click="{&quot;mod&quot;:&quot;popu_710&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/qian520ao/article/details/76167193&quot;}"><span class="blog-expert-button-follow btn-red-follow" data-name="walid1992" data-nick="王永迪">关注</span></span><span class="article-num"> 81篇文章</span></p></div></div></div><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-track-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/qian520ao/article/details/76167193&quot;}"><a href="https://blog.csdn.net/u011310942" target="_blank"><img src="https://avatar.csdn.net/C/5/6/3_u011310942.jpg" alt="小_源"><svg class="icon" aria-hidden="true"><use xlink:href="#csdnc-blogexpert"></use></svg></a></div><div class="info"><span data-track-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/qian520ao/article/details/76167193&quot;}"><a href="https://blog.csdn.net/u011310942" target="_blank"><h5 class="oneline">小_源</h5></a></span>  <p><span data-track-click="{&quot;mod&quot;:&quot;popu_710&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/qian520ao/article/details/76167193&quot;}"><span class="blog-expert-button-follow btn-red-follow" data-name="u011310942" data-nick="小_源">关注</span></span><span class="article-num"> 118篇文章</span></p></div></div></div><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-track-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/qian520ao/article/details/76167193&quot;}"><a href="https://blog.csdn.net/tsdfk1455" target="_blank"><img src="https://avatar.csdn.net/F/3/0/3_tsdfk1455.jpg" alt="阁楼猫"><svg class="icon" aria-hidden="true"><use xlink:href="#csdnc-blogexpert"></use></svg></a></div><div class="info"><span data-track-click="{&quot;mod&quot;:&quot;popu_709&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/qian520ao/article/details/76167193&quot;}"><a href="https://blog.csdn.net/tsdfk1455" target="_blank"><h5 class="oneline">阁楼猫</h5></a></span>  <p><span data-track-click="{&quot;mod&quot;:&quot;popu_710&quot;,&quot;con&quot;:&quot;https://blog.csdn.net/qian520ao/article/details/76167193&quot;}"><span class="blog-expert-button-follow btn-red-follow" data-name="tsdfk1455" data-nick="阁楼猫">关注</span></span><span class="article-num"> 201篇文章</span></p></div></div></div></div></div></div><div class="blog-expert-load-new" data-index="3" style="display: block;"><svg version="1.1" viewBox="0 0 200 200" style="enable-background:new 0 0 200 200;" xml:space="preserve"><path d="M142.5,57.5c-1.3-1.2-2.1-3.3-2.1-5.4c0-4.2,3.3-7.5,7.5-7.5h19.6c4.2,0,7.5,3.3,7.5,7.5s-3.3,7.5-7.5,7.5h-4.2C170.8,71.2,175,85,175,100c0,41.7-33.8,75-75,75c-4.2,0-7.5-3.3-7.5-7.5c0-4.2,3.3-7.5,7.5-7.5c33.3,0,60-27.1,60-60C160,83.7,153.8,68.7,142.5,57.5L142.5,57.5z M57.5,142.5c1.2,1.2,2.1,3.3,2.1,5.4c0,4.2-3.3,7.5-7.5,7.5H32.5c-4.2,0-7.5-3.3-7.5-7.5c0-4.2,3.3-7.5,7.5-7.5h4.2C29.2,128.8,25,115,25,100c0-41.7,33.7-75,75-75c4.2,0,7.5,3.3,7.5,7.5S104.2,40,100,40c-33.3,0-60,27.1-60,60C40,116.2,46.2,131.2,57.5,142.5z"></path></svg><span>换一批</span></div></div></div><div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/cjm2484836553/article/details/53453982,BlogCommendESEnWordWeight_10,index_10&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/cjm2484836553/article/details/53453982,BlogCommendESEnWordWeight_10,index_10&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/cjm2484836553/article/details/53453982" target="_blank" title="Android-使用RecyclerView的ItemDecoration 实现炫酷的 吸顶效果 - cjm2484836553的博客"><h4 class="text-truncate oneline" style="width: 609px;">Android-使用<em>RecyclerView</em>的ItemDecoration 实现炫酷的 吸顶效果 - cjm2484836553的博客             </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/0/9/B/3_cjm2484836553.jpg" alt="cjm2484836553" class="avatar-pic"><span class="namebox"><span class="name">cjm2484836553</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">12-04</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>1.8万</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/cjm2484836553/article/details/53453982" target="_blank" title="Android-使用RecyclerView的ItemDecoration 实现炫酷的 吸顶效果 - cjm2484836553的博客"><span class="desc oneline">开始逐渐领略到ItemDecoration的美~
    

    今天让我 使用
    ItemDecoration 来完成 可推动的悬浮导航栏的效果,最终实现的效果如下图:

    具体实现步骤如下:

    根据我…

    来自: cjm2484836553的博客

         <div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/sunbinkang/article/details/53024199,BlogCommendFromBaidu_11,index_11&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/sunbinkang/article/details/53024199,BlogCommendFromBaidu_11,index_11&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/sunbinkang/article/details/53024199" target="_blank" title="很简单为RecyclerView添加头部:使用一个类RecyclerViewHeader - sunbinkang的博客"><h4 class="text-truncate oneline" style="width: 610px;">很简单为<em>RecyclerView</em>添加<em>头部</em>:使用一个类<em>RecyclerView</em>Header - sunbinkang的博客             </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/E/8/F/3_sunbinkang.jpg" alt="sunbinkang" class="avatar-pic"><span class="namebox"><span class="name">sunbinkang</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">11-03</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>4347</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/sunbinkang/article/details/53024199" target="_blank" title="很简单为RecyclerView添加头部:使用一个类RecyclerViewHeader - sunbinkang的博客"><span class="desc oneline">首先看下自己的RecyclerView是否包裹在&nbsp;LinearLayout, FrameLayout, RelativeLayout.这三种布局中,否则会报错:
    

    Currently, NOT alr…

    来自: sunbinkang的博客

         <div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/xiaxiazaizai01/article/details/62430432,BlogCommendFromBaidu_12,index_12&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/xiaxiazaizai01/article/details/62430432,BlogCommendFromBaidu_12,index_12&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/xiaxiazaizai01/article/details/62430432" target="_blank" title="RecyclerView利用ItemDecoration实现头部悬停效果【类似微信通讯录效果】 - 风一样的男人"><h4 class="text-truncate oneline" style="width: 610px;"><em>RecyclerView</em>利用ItemDecoration实现<em>头部</em>悬停效果【类似微信通讯录效果】 - 风一样的男人                </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/4/0/7/3_xiaxiazaizai01.jpg" alt="xiaxiazaizai01" class="avatar-pic"><span class="namebox"><span class="name">xiaxiazaizai01</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">03-16</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>4510</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/xiaxiazaizai01/article/details/62430432" target="_blank" title="RecyclerView利用ItemDecoration实现头部悬停效果【类似微信通讯录效果】 - 风一样的男人"><span class="desc oneline">对于RecyclerView的ItemDecoration相信大家都不会陌生,因为RecyclerView并不像ListView那样自带分割线,所以我们需要继承ItemDecoration去手动绘制分...</span></a><span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/xiaxiazaizai01">来自:  <span class="blog_title"> 风一样的男人</span></a></span></p></div></div><div class="recommend-item-box recommend-ad-box"><div id="kp_box_61" data-pid="61" data-track-view="{&quot;mod&quot;:&quot;kp_popu_61-557&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_61-557&quot;,&quot;con&quot;:&quot;,,&quot;}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1542785853189_678" id="QIHOO__WEB__SO__1542785853189_678" style="display:block;margin:0;padding:0;border:none;width:852px;height:60px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1542785853189_678-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1542785853189_678 singleImage clk" data-href="https://s1.milkjpg.com/s?type=2&amp;r=20&amp;mv_ref=blog.csdn.net&amp;enup=CAABcXSf2AgAAtifdHEA&amp;mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&amp;bid=12bab6ef532fda85&amp;price=AAAAAFv1Cz0AAAAAAAwSeysVYnM6vGY/+pKtCQ==&amp;finfo=DAABCAABAAAAOAgAAgAAAHEEAAM/PeG1px3d9gAIAAIAAAADCgADV2/AxOflDkEIAAQAAAB6BgAGHQMIAAgACIuACgAJAAAAAAACEBgGAAoAAAA&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&amp;uai=FaixkwIlAhUEFt7JnPiB69vvrgEV8ggl94Ok3w0lABUaAA&amp;ubi=FYCISRXSirgCFYSE3xYVlJ+QVxUGFRwW7qHy4BYW3smx34ux4O+uATQCFrDAkIAIJQYVvovfkQ0V+AUVADb7ypz4gpmn5XsA&amp;clickid=0&amp;cpx=__OFFSET_X__&amp;cpy=__OFFSET_Y__&amp;cs=__EVENT_TIME_START__&amp;ce=__EVENT_TIME_END__&amp;csign=b9db89f160a0827a&amp;csign2=WTHatCOS4HZ=&amp;url=http%3A%2F%2Fgp1.mysdkj123.cn%2F" data-pv="https://s1.milkjpg.com/s?type=1&amp;r=20&amp;tid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&amp;finfo=DAABCAABAAAAOAgAAgAAAHEEAAM/PeG1px3d9gAIAAIAAAADCgADV2/AxOflDkEIAAQAAAB6BgAGHQMIAAgACIuACgAJAAAAAAACEBgGAAoAAAA&amp;mv_ref=blog.csdn.net&amp;enup=CAABcXSf2AgAAtifdHEA&amp;mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&amp;bid=12bab6ef532fda85&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&amp;uai=FaixkwIlAhUEFt7JnPiB69vvrgEV8ggl94Ok3w0lABUaAA&amp;ubi=FYCISRXSirgCFYSE3xYVlJ+QVxUGFRwW7qHy4BYW3smx34ux4O+uATQCFrDAkIAIJQYVvovfkQ0V+AUVADb7ypz4gpmn5XsA&amp;ds=1&amp;price=AAAAAFv1Cz0AAAAAAAwSeysVYnM6vGY/+pKtCQ==,https://max-l.mediav.com/rtb?type=2&amp;d=100&amp;b=12bab6ef532fda85&amp;p=2255956&amp;l=1136674&amp;s=1&amp;z=1&amp;w=AAAAAFv1Cz0AAAAAAAwSn/NrS2be/W/N5UoP3w==&amp;k=X+dS8AAAAAA=&amp;i=9L4YAulES9cu&amp;v=11141769802331111100018" data-clk="https://max-l.mediav.com/rtb?type=3&amp;d=100&amp;b=12bab6ef532fda85&amp;p=2255956&amp;l=1136674&amp;s=1&amp;k=X+dS8AAAAAA=&amp;i=9L4YAulES9cu&amp;v=11141769802331111100018&amp;x=__OFFSET_X__&amp;y=__OFFSET_Y__&amp;st=__EVENT_TIME_START__&amp;et=__EVENT_TIME_END__&amp;tc=&amp;turl=">
    <info-div class="wrap"><info-div class="singleImage-img singleImage-img-left"><info-div class="img" style="background-image:url(https://s3m.mediav.com/galileo/598528-32c81488937c564799107964e350915c.jpg)"><info-div class="ads-tag"></info-div></info-div></info-div><info-div class="singleImage-body singleImage-body-left"><info-div class="singleImage-title">东门股王8年追涨停铁律“1272”曝光,震惊众人!</info-div><info-div class="singleImage-desc">美易互动 · 燨燚</info-div></info-div>
    
         <div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq_34240569/article/details/78283447,BlogCommendFromBaidu_13,index_13&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq_34240569/article/details/78283447,BlogCommendFromBaidu_13,index_13&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/qq_34240569/article/details/78283447" target="_blank" title="RecyclerView使用ItemDecoration实现吸顶效果 - qq_34240569的博客"><h4 class="text-truncate oneline" style="width: 610px;"><em>RecyclerView</em>使用ItemDecoration实现吸顶效果 - qq_34240569的博客                </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/D/A/6/3_qq_34240569.jpg" alt="qq_34240569" class="avatar-pic"><span class="namebox"><span class="name">qq_34240569</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">10-19</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>1373</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/qq_34240569/article/details/78283447" target="_blank" title="RecyclerView使用ItemDecoration实现吸顶效果 - qq_34240569的博客"><span class="desc oneline">写此博客目的仅仅用于帮助自己做笔记
    

    吸顶效果在很多APP都可以看见,现在可以借助RecyclerView的ItemDecoration 来简单实现一个吸顶效果直接上效果图:

    首先实现一个Mo…

    来自: qq_34240569的博客

         <div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/chenbaige/article/details/51445189,BlogCommendFromBaidu_14,index_14&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/chenbaige/article/details/51445189,BlogCommendFromBaidu_14,index_14&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/chenbaige/article/details/51445189" target="_blank" title="如何优雅的实现recycleview加入顶部headerview,实现一起滑动效果 - 白哥哥的博客"><h4 class="text-truncate oneline" style="width: 610px;">如何优雅的实现recycleview加入顶部headerview,实现一起滑动效果 - 白哥哥的博客               </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/E/4/A/3_chenbaige.jpg" alt="chenbaige" class="avatar-pic"><span class="namebox"><span class="name">chenbaige</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">05-18</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>3672</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/chenbaige/article/details/51445189" target="_blank" title="如何优雅的实现recycleview加入顶部headerview,实现一起滑动效果 - 白哥哥的博客"><span class="desc oneline">上次使用recyclerviewheader实现了在recycleview的顶部成功加入了headerview,但是随着开发的深入,发现其使用局限性越来越大,代码层次感也不够清晰,感觉太冗余,经过深思...</span></a><span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/chenbaige">来自: <span class="blog_title"> 白哥哥的博客</span></a></span></p></div></div><div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/liulong_/article/details/78950160,BlogCommendFromBaidu_15,index_15&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/liulong_/article/details/78950160,BlogCommendFromBaidu_15,index_15&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/liulong_/article/details/78950160" target="_blank" title="头部悬停的recyclerView - liulong_的博客"><h4 class="text-truncate oneline" style="width: 618px;"><em>头部</em>悬停的<em>recyclerView</em> - liulong_的博客                </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/1/B/D/3_liulong_.jpg" alt="liulong_" class="avatar-pic"><span class="namebox"><span class="name">liulong_</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">01-02</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>867</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/liulong_/article/details/78950160" target="_blank" title="头部悬停的recyclerView - liulong_的博客"><span class="desc oneline">android recyclerView头部悬停</span></a><span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/liulong_">来自:   <span class="blog_title"> liulong_的博客</span></a></span></p></div></div><div class="recommend-item-box recommend-box-ident" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/qq_33531662/9602434,searchFromBaidu_16,index_16&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/qq_33531662/9602434,searchFromBaidu_16,index_16&quot;}" data-flg="true"><a href="https://download.csdn.net/download/qq_33531662/9602434" target="_blank"><h4 class="text-truncate oneline" style="width: 564px;">StickyHeaderListView - qq_33531662           </h4><div class="info-box d-flex align-content-center"><p><span class="read-num">下载</span></p><p><span class="date">08-13</span></p></div><p class="content oneline" style="width: 702px;">功能强大的StickyHeaderListView:标题渐变、吸附悬停、筛选分类、动态头部等            </p></a></div><div class="recommend-item-box recommend-box-ident" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/qibin0506/9282269,searchFromBaidu_17,index_17&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/qibin0506/9282269,searchFromBaidu_17,index_17&quot;}" data-flg="true"><a href="https://download.csdn.net/download/qibin0506/9282269" target="_blank"><h4 class="text-truncate oneline" style="width: 564px;">自己动手做StickyHeaderListView - 亓斌          </h4><div class="info-box d-flex align-content-center"><p><span class="read-num">下载</span></p><p><span class="date">11-19</span></p></div><p class="content oneline" style="width: 702px;">博客:http://blog.csdn.net/qibin0506/article/details/49926083 的demo          </p></a></div><div class="recommend-item-box recommend-ad-box"><div id="kp_box_62" data-pid="62" data-track-view="{&quot;mod&quot;:&quot;kp_popu_62-556&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_62-556&quot;,&quot;con&quot;:&quot;,,&quot;}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1542785853216_657" id="QIHOO__WEB__SO__1542785853216_657" style="display:block;margin:0;padding:0;border:none;width:852px;height:60px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1542785853216_657-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1542785853216_657 singleImage clk" data-href="https://s1.milkjpg.com/s?type=2&amp;r=20&amp;mv_ref=blog.csdn.net&amp;enup=CAABcXSf2AgAAtifdHEA&amp;mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&amp;bid=12bab6ef68a26f61&amp;price=AAAAAFv1Cz0AAAAAAAe4VrBqcl1BGST2ubGaXA==&amp;finfo=DAABCAABAAAAYAgAAgAAAIwEAAM/RTm27ScpEQAIAAIAAAADCgADPY+cnDxAaM8IAAQAAACUBgAGLbcIAAgADqYACgAJAAAAAAACEBIGAAoAAAA&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&amp;uai=FeTGlAIlAhUEFt7JjuD3msWPexXyCCWYloqWByUAFRoA&amp;ubi=FbChShX65LoCFeSf7hYV6sCtVxUEFSIW6tjjghcW3sm4rounzo97NAQWpMCQgAglBhW6ppSFBRW+BRUANt2Vjby9qNmQvAEA&amp;clickid=0&amp;cpx=__OFFSET_X__&amp;cpy=__OFFSET_Y__&amp;cs=__EVENT_TIME_START__&amp;ce=__EVENT_TIME_END__&amp;csign=6fc14b5b09020a41&amp;csign2=za6tdHGJsy4=&amp;url=http%3A%2F%2Fwz2.y8y4jk.cn%2F" data-pv="https://s1.milkjpg.com/s?type=1&amp;r=20&amp;tid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&amp;finfo=DAABCAABAAAAYAgAAgAAAIwEAAM/RTm27ScpEQAIAAIAAAADCgADPY+cnDxAaM8IAAQAAACUBgAGLbcIAAgADqYACgAJAAAAAAACEBIGAAoAAAA&amp;mv_ref=blog.csdn.net&amp;enup=CAABcXSf2AgAAtifdHEA&amp;mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&amp;bid=12bab6ef68a26f61&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&amp;uai=FeTGlAIlAhUEFt7JjuD3msWPexXyCCWYloqWByUAFRoA&amp;ubi=FbChShX65LoCFeSf7hYV6sCtVxUEFSIW6tjjghcW3sm4rounzo97NAQWpMCQgAglBhW6ppSFBRW+BRUANt2Vjby9qNmQvAEA&amp;ds=2&amp;price=AAAAAFv1Cz0AAAAAAAe4VrBqcl1BGST2ubGaXA==,https://max-l.mediav.com/rtb?type=2&amp;d=100&amp;b=12bab6ef68a26f61&amp;p=2265522&amp;l=1136674&amp;s=2&amp;z=1&amp;w=AAAAAFv1Cz0AAAAAAAe4dR+k+Dn8gwD2F/qJZg==&amp;k=NFMUrgAAAAA=&amp;i=j5v68SlES94Z&amp;v=11141769802331111100018" data-clk="https://max-l.mediav.com/rtb?type=3&amp;d=100&amp;b=12bab6ef68a26f61&amp;p=2265522&amp;l=1136674&amp;s=2&amp;k=NFMUrgAAAAA=&amp;i=j5v68SlES94Z&amp;v=11141769802331111100018&amp;x=__OFFSET_X__&amp;y=__OFFSET_Y__&amp;st=__EVENT_TIME_START__&amp;et=__EVENT_TIME_END__&amp;tc=&amp;turl=">
    <info-div class="wrap"><info-div class="singleImage-img singleImage-img-left"><info-div class="img" style="background-image:url(https://s3m.mediav.com/galileo/608344-d4b5cfe2489ceccfb5a9ec1d8277794c.jpg)"><info-div class="ads-tag"></info-div></info-div></info-div><info-div class="singleImage-body singleImage-body-left"><info-div class="singleImage-title">东门27岁刘某辞去保安工作,半年存款惊呆众人!</info-div><info-div class="singleImage-desc">天傲 · 燨燚</info-div></info-div>
    
         <div class="recommend-item-box recommend-box-ident" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/zjgwxh/8795209,searchFromBaidu_18,index_18&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/zjgwxh/8795209,searchFromBaidu_18,index_18&quot;}" data-flg="true"><a href="https://download.csdn.net/download/zjgwxh/8795209" target="_blank"><h4 class="text-truncate oneline" style="width: 564px;">android StickyHeaderListView 分组listview,标题停靠          </h4><div class="info-box d-flex align-content-center"><p><span class="read-num">下载</span></p><p><span class="date">06-11</span></p></div><p class="content oneline" style="width: 702px;">android StickyHeaderListView 分组listview,标题停靠          </p></a></div><div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/shaoyezhangliwei/article/details/49949373,searchFromBaidu_19,index_19&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/shaoyezhangliwei/article/details/49949373,searchFromBaidu_19,index_19&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/shaoyezhangliwei/article/details/49949373" target="_blank" title="StickyListHeaders的用法说明(带字母索引条) - shaoyezhangliwei的专栏"><h4 class="text-truncate oneline" style="width: 610px;">StickyListHeaders的用法说明(带字母索引条) - shaoyezhangliwei的专栏              </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/6/C/3/3_shaoyezhangliwei.jpg" alt="shaoyezhangliwei" class="avatar-pic"><span class="namebox"><span class="name">shaoyezhangliwei</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">11-20</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>4009</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/shaoyezhangliwei/article/details/49949373" target="_blank" title="StickyListHeaders的用法说明(带字母索引条) - shaoyezhangliwei的专栏"><span class="desc oneline">有些同学可能没用过这个SckyListHeadersListView 先发个效果图,图片是从别的地方拷贝过来的
    

    以下的几个类 直接拷贝到项目中 备用。

    import java.lang.refl…

    来自: shaoyezhangliwei的专栏

         <div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/QS219/article/details/52293130,BlogCommendFromGuangxin_20,index_20&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/QS219/article/details/52293130,BlogCommendFromGuangxin_20,index_20&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/QS219/article/details/52293130" target="_blank" title="使用sticky-headers-recyclerview 完成 recyclerview粘性头部 -                                           "><h4 class="text-truncate oneline" style="width: 610px;">使用sticky-headers-<em>recyclerview</em> 完成 <em>recyclerview</em><em>粘性</em><em>头部</em> -                                                          </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/8/5/3/3_qs219.jpg" alt="QS219" class="avatar-pic"><span class="namebox"><span class="name">QS219</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">08-23</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>4517</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/QS219/article/details/52293130" target="_blank" title="使用sticky-headers-recyclerview 完成 recyclerview粘性头部 -                                           "><span class="desc oneline">使用sticky-headers-recyclerview 完成 recyclerview粘性头部</span></a></p></div></div><div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/bydbbb/article/details/78709732,BlogCommendFromGuangxin_21,index_21&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/bydbbb/article/details/78709732,BlogCommendFromGuangxin_21,index_21&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/bydbbb/article/details/78709732" target="_blank" title="RecyclerView实现带有头部的顶部悬浮置顶布局 - byd666的博客"><h4 class="text-truncate oneline" style="width: 610px;"><em>RecyclerView</em>实现带有<em>头部</em>的顶部<em>悬浮</em>置顶布局 - byd666的博客               </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/4/B/A/3_bydbbb.jpg" alt="bydbbb" class="avatar-pic"><span class="namebox"><span class="name">bydbbb</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">12-04</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>5100</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/bydbbb/article/details/78709732" target="_blank" title="RecyclerView实现带有头部的顶部悬浮置顶布局 - byd666的博客"><span class="desc oneline">由于项目需求需要,需要一个带有头部的吸顶布局,在网上搜索了好多实现办法,都不太理想,最终使用对RecyclerView添加分割线的方式,重写了RecyclerView的分割线来实现这个悬浮栏。效果比较...</span></a><span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/bydbbb">来自:  <span class="blog_title"> byd666的博客</span></a></span></p></div></div><div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/jsonChumpKlutz/article/details/79226219,BlogCommendFromGuangxin_22,index_22&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/jsonChumpKlutz/article/details/79226219,BlogCommendFromGuangxin_22,index_22&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/jsonChumpKlutz/article/details/79226219" target="_blank" title="Android RecyclerView-使用Itemdecoration实现粘性头部功能,详细到具体步骤. - 那个人_的博客"><h4 class="text-truncate oneline" style="width: 610px;">Android <em>RecyclerView</em>-使用Itemdecoration实现<em>粘性</em><em>头部</em>功能,详细到具体步骤. - 那个人_的博客              </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/F/8/3/3_jsonchumpklutz.jpg" alt="jsonChumpKlutz" class="avatar-pic"><span class="namebox"><span class="name">jsonChumpKlutz</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">02-01</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>2838</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/jsonChumpKlutz/article/details/79226219" target="_blank" title="Android RecyclerView-使用Itemdecoration实现粘性头部功能,详细到具体步骤. - 那个人_的博客"><span class="desc oneline">一 前言
    

    该文详细的介绍了RecyclerView.ItemDecoration实现分组粘性头部的功能,让我们自己生产代码,告别代码搬运工的时代.另外文末附有完整Demo的连接.看下效果:

    来自: 那个人_的博客

    <div class="recommend-item-box recommend-ad-box"><div id="kp_box_63" data-pid="63" data-track-view="{&quot;mod&quot;:&quot;kp_popu_63-555&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_63-555&quot;,&quot;con&quot;:&quot;,,&quot;}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1542785853237_454" id="QIHOO__WEB__SO__1542785853237_454" style="display:block;margin:0;padding:0;border:none;width:852px;height:60px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1542785853237_454-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1542785853237_454 singleImage clk" data-href="https://s1.milkjpg.com/s?type=2&amp;r=20&amp;mv_ref=blog.csdn.net&amp;enup=CAABcXSf2AgAAtifdHEA&amp;mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&amp;bid=12bab6ef532fda85&amp;price=AAAAAFv1Cz0AAAAAAAwS855akJEu+zvmFpYj0w==&amp;finfo=DAABCAABAAAANwgAAgAAAHUEAAM/PUyO57iKVQAIAAIAAAADCgADV2/J3KBVg4gIAAQAAAB8BgAGHgMIAAgACGnBCgAJAAAAAAACEBgGAAoAAAA&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&amp;uai=FaixkwIlAhUEFt7JnPiB69vvrgEV8ggl94Ok3w0lABUaAA&amp;ubi=FY70QBXk+7kCFaK06RYVjrSiVxUGFRwW+sTezBYW3snGxpX35O+uATQEFrDAkIAIJQYV3sCO3g0VwgMVADbpguyct+rHjFUA&amp;clickid=0&amp;cpx=__OFFSET_X__&amp;cpy=__OFFSET_Y__&amp;cs=__EVENT_TIME_START__&amp;ce=__EVENT_TIME_END__&amp;csign=515c370373424709&amp;csign2=fD-cQK-VERj=&amp;url=http%3A%2F%2Fxdd6.sxzctec195.cn%2F" data-pv="https://s1.milkjpg.com/s?type=1&amp;r=20&amp;tid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&amp;finfo=DAABCAABAAAANwgAAgAAAHUEAAM/PUyO57iKVQAIAAIAAAADCgADV2/J3KBVg4gIAAQAAAB8BgAGHgMIAAgACGnBCgAJAAAAAAACEBgGAAoAAAA&amp;mv_ref=blog.csdn.net&amp;enup=CAABcXSf2AgAAtifdHEA&amp;mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&amp;bid=12bab6ef532fda85&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&amp;uai=FaixkwIlAhUEFt7JnPiB69vvrgEV8ggl94Ok3w0lABUaAA&amp;ubi=FY70QBXk+7kCFaK06RYVjrSiVxUGFRwW+sTezBYW3snGxpX35O+uATQEFrDAkIAIJQYV3sCO3g0VwgMVADbpguyct+rHjFUA&amp;ds=2&amp;price=AAAAAFv1Cz0AAAAAAAwS855akJEu+zvmFpYj0w==,https://max-l.mediav.com/rtb?type=2&amp;d=100&amp;b=12bab6ef532fda85&amp;p=2255956&amp;l=1136674&amp;s=2&amp;z=1&amp;w=AAAAAFv1Cz0AAAAAAAwTFJyahKIz4zQfJM/uvw==&amp;k=X+dS8AAAAAA=&amp;i=9LjYAulES9cx&amp;v=11141769802331111100018" data-clk="https://max-l.mediav.com/rtb?type=3&amp;d=100&amp;b=12bab6ef532fda85&amp;p=2255956&amp;l=1136674&amp;s=2&amp;k=X+dS8AAAAAA=&amp;i=9LjYAulES9cx&amp;v=11141769802331111100018&amp;x=__OFFSET_X__&amp;y=__OFFSET_Y__&amp;st=__EVENT_TIME_START__&amp;et=__EVENT_TIME_END__&amp;tc=&amp;turl=">
    <info-div class="wrap"><info-div class="singleImage-img singleImage-img-left"><info-div class="img" style="background-image:url(https://s3m.mediav.com/galileo/531719-6ec95ca8384e580e41954c265689401f.jpg)"><info-div class="ads-tag"></info-div></info-div></info-div><info-div class="singleImage-body singleImage-body-left"><info-div class="singleImage-title">股市奇才17年不亏之谜,方法令人意想不到</info-div><info-div class="singleImage-desc">陕西信息科技 · 燨燚</info-div></info-div>
    
         <div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/user11223344abc/article/details/75949632,BlogCommendFromQuerySearch_23,index_23&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/user11223344abc/article/details/75949632,BlogCommendFromQuerySearch_23,index_23&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/user11223344abc/article/details/75949632" target="_blank" title="RecyclerView系列(3)—ItemDirection打造粘性悬浮分组title - 千里逐梦"><h4 class="text-truncate oneline" style="width: 618px;"><em>RecyclerView</em>系列(3)—ItemDirection打造<em>粘性</em><em>悬浮</em>分组title - 千里逐梦              </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/5/4/0/3_user11223344abc.jpg" alt="user11223344abc" class="avatar-pic"><span class="namebox"><span class="name">user11223344abc</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">07-24</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>533</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/user11223344abc/article/details/75949632" target="_blank" title="RecyclerView系列(3)—ItemDirection打造粘性悬浮分组title - 千里逐梦"><span class="desc oneline">转载请注明出处:
    

    http://blog.csdn.net/user11223344abc?viewmode=contents
    出自【蛟-blog】
    0.介绍0.1:先看下效果图吧。
    请…

    来自: 千里逐梦

         <div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/wuyuxing24/article/details/80021069,BlogCommendFromQuerySearch_24,index_24&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/wuyuxing24/article/details/80021069,BlogCommendFromQuerySearch_24,index_24&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/wuyuxing24/article/details/80021069" target="_blank" title="RecyclerView实现收缩分组悬浮列表 - 旧路"><h4 class="text-truncate oneline" style="width: 618px;"><em>RecyclerView</em>实现收缩分组<em>悬浮</em>列表 - 旧路              </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/9/B/A/3_wuyuxing24.jpg" alt="wuyuxing24" class="avatar-pic"><span class="namebox"><span class="name">wuyuxing24</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">04-20</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>716</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/wuyuxing24/article/details/80021069" target="_blank" title="RecyclerView实现收缩分组悬浮列表 - 旧路"><span class="desc oneline">&amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp;今天给大伙儿分享一个用RecyclerView实现收缩分组悬浮列表的功能。如果只是想实现分组收缩的功能Expand...</span></a><span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/wuyuxing24">来自:  <span class="blog_title"> 旧路</span></a></span></p></div></div><div class="recommend-item-box recommend-box-ident recommend-download-box clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/jsonchumpklutz/10233396,BlogCommendFromQuerySearch_25,index_25&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://download.csdn.net/download/jsonchumpklutz/10233396,BlogCommendFromQuerySearch_25,index_25&quot;}" data-flg="true"><a href="https://download.csdn.net/download/jsonchumpklutz/10233396" target="_blank"><div class="content"><div class=""><span class="type">下载</span><h4 class="text-truncate oneline clearfix"><em>RecyclerView</em>.ItemDecoration实现<em>粘性</em><em>头部</em> - jsonchumpklutz                     </h4><span class="data float-right">01-31</span></div><div class="desc oneline">一份详细的RecyclerView.ItemDecoration实现分组粘性头部的Demo,看了就懂!                   </div></div></a></div><div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/x1198928367/article/details/51788478,BlogCommendFromQuerySearch_26,index_26&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/x1198928367/article/details/51788478,BlogCommendFromQuerySearch_26,index_26&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/x1198928367/article/details/51788478" target="_blank" title="去掉UITableView的section的粘性,使其不会悬停 - x1198928367的博客"><h4 class="text-truncate oneline" style="width: 610px;">去掉UITableView的section的<em>粘性</em>,使其不会悬停 - x1198928367的博客              </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/0/6/0/3_x1198928367.jpg" alt="x1198928367" class="avatar-pic"><span class="namebox"><span class="name">x1198928367</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">06-30</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>1325</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/x1198928367/article/details/51788478" target="_blank" title="去掉UITableView的section的粘性,使其不会悬停 - x1198928367的博客"><span class="desc oneline">//有时候使用UITableView所实现的列表,会使用到section,但是又不希望它粘在最顶上而是跟随滚动而消失或者出现
    

    - (void)scrollViewDidScroll:(U…

    来自: x1198928367的博客

         <div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq_27439299/article/details/48787621,BlogCommendFromBaidu_27,index_27&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq_27439299/article/details/48787621,BlogCommendFromBaidu_27,index_27&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/qq_27439299/article/details/48787621" target="_blank" title="StikkyHeader——为滚动视图添加粘性头部 - qq_27439299的博客"><h4 class="text-truncate oneline" style="width: 610px;">StikkyHeader——为滚动视图添加<em>粘性</em><em>头部</em> - qq_27439299的博客             </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/6/5/3/3_qq_27439299.jpg" alt="qq_27439299" class="avatar-pic"><span class="namebox"><span class="name">qq_27439299</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">09-28</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>1192</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/qq_27439299/article/details/48787621" target="_blank" title="StikkyHeader——为滚动视图添加粘性头部 - qq_27439299的博客"><span class="desc oneline">http://www.mobile-open.com/2015/38627.html
    

    StikkyHeader——为滚动视图添加粘性头部(Stick Header)的Android类库

    来自: qq_27439299的博客

    <div class="recommend-item-box recommend-ad-box"><div id="kp_box_64" data-pid="64" data-track-view="{&quot;mod&quot;:&quot;kp_popu_64-81&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_64-81&quot;,&quot;con&quot;:&quot;,,&quot;}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1542785853284_980" id="QIHOO__WEB__SO__1542785853284_980" style="display:block;margin:0;padding:0;border:none;width:852px;height:60px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1542785853284_980-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1542785853284_980 singleImage clk" data-href="https://s1.milkjpg.com/s?type=2&amp;r=20&amp;mv_ref=blog.csdn.net&amp;enup=CAABcXSf2AgAAtifdHEA&amp;mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&amp;bid=12bab6ef68a26f61&amp;price=AAAAAFv1Cz0AAAAAAAe4vmNzfpVOVGLS0KCBbw==&amp;finfo=DAABCAABAAAAWggAAgAAAIIEAAM/ReaEGcmkhAAIAAIAAAADCgADPY+ltG0tawUIAAQAAACHBgAGLbcIAAgADbugCgAJAAAAAAACEBIGAAoAAAYADD9cAA&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&amp;uai=FeTGlAIlAhUEFt7JjuD3msWPexXyCCWYloqWByUAFRoA&amp;ubi=FaLySxXmyroCFc727BYVvNqrVxUEFRwWztyoiBcW3snNlZXt0o97NAYWpMCQgAglBhX7xacKFeIDFQA2oKmWv5LoxqAsAA&amp;clickid=0&amp;cpx=__OFFSET_X__&amp;cpy=__OFFSET_Y__&amp;cs=__EVENT_TIME_START__&amp;ce=__EVENT_TIME_END__&amp;csign=b70faff857f33ed3&amp;csign2=i3Bd04_-CBL=&amp;url=http%3A%2F%2Fjf.confuciusclass.com.cn%2F" data-pv="https://s1.milkjpg.com/s?type=1&amp;r=20&amp;tid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&amp;finfo=DAABCAABAAAAWggAAgAAAIIEAAM/ReaEGcmkhAAIAAIAAAADCgADPY+ltG0tawUIAAQAAACHBgAGLbcIAAgADbugCgAJAAAAAAACEBIGAAoAAAYADD9cAA&amp;mv_ref=blog.csdn.net&amp;enup=CAABcXSf2AgAAtifdHEA&amp;mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&amp;bid=12bab6ef68a26f61&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&amp;uai=FeTGlAIlAhUEFt7JjuD3msWPexXyCCWYloqWByUAFRoA&amp;ubi=FaLySxXmyroCFc727BYVvNqrVxUEFRwWztyoiBcW3snNlZXt0o97NAYWpMCQgAglBhX7xacKFeIDFQA2oKmWv5LoxqAsAA&amp;ds=3&amp;price=AAAAAFv1Cz0AAAAAAAe4vmNzfpVOVGLS0KCBbw==,https://max-l.mediav.com/rtb?type=2&amp;d=100&amp;b=12bab6ef68a26f61&amp;p=2265522&amp;l=1136674&amp;s=3&amp;z=1&amp;w=AAAAAFv1Cz0AAAAAAAe42orANp2WgTkqQjk/tw==&amp;k=NFMUrgAAAAA=&amp;i=jQ368SlES9C8&amp;v=11141769802331111100018" data-clk="https://max-l.mediav.com/rtb?type=3&amp;d=100&amp;b=12bab6ef68a26f61&amp;p=2265522&amp;l=1136674&amp;s=3&amp;k=NFMUrgAAAAA=&amp;i=jQ368SlES9C8&amp;v=11141769802331111100018&amp;x=__OFFSET_X__&amp;y=__OFFSET_Y__&amp;st=__EVENT_TIME_START__&amp;et=__EVENT_TIME_END__&amp;tc=&amp;turl=">
    <info-div class="wrap"><info-div class="singleImage-img singleImage-img-left"><info-div class="img" style="background-image:url(https://s3m.mediav.com/galileo/621713-534ec7da5c2b4a9c6ca9a8a37cace170.gif)"><info-div class="ads-tag"></info-div></info-div></info-div><info-div class="singleImage-body singleImage-body-left"><info-div class="singleImage-title">喝水都会胖竟因为这个,教你一招瘦到90斤!</info-div><info-div class="singleImage-desc">振辉生物 · 燨燚</info-div></info-div>
    
         <div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/hx3971/article/details/72967858,BlogCommendFromBaidu_28,index_28&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/hx3971/article/details/72967858,BlogCommendFromBaidu_28,index_28&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/hx3971/article/details/72967858" target="_blank" title="StickHeaderRecyclerView - 让recyclerview头部固定 - hx3971的博客"><h4 class="text-truncate oneline" style="width: 610px;">StickHeader<em>RecyclerView</em> - 让<em>recyclerview</em><em>头部</em>固定 - hx3971的博客             </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/7/8/4/3_hx3971.jpg" alt="hx3971" class="avatar-pic"><span class="namebox"><span class="name">hx3971</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">06-09</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>1703</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/hx3971/article/details/72967858" target="_blank" title="StickHeaderRecyclerView - 让recyclerview头部固定 - hx3971的博客"><span class="desc oneline">介绍
    

    在项目中有时会需要recyclerview滑动式时某个view滑出后会固定在头部显示,比较常用的比如手机联系人界面、地区选择界面等。 StickHeaderRecyclerView就是实现这…

    来自: hx3971的博客

         <div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/Levis_1993/article/details/80702826,BlogCommendFromBaidu_29,index_29&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/Levis_1993/article/details/80702826,BlogCommendFromBaidu_29,index_29&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/Levis_1993/article/details/80702826" target="_blank" title="Sticky Header 的两种实现方式 - Lewis_1993的博客"><h4 class="text-truncate oneline" style="width: 618px;">Sticky Header 的两种实现方式 - Lewis_1993的博客                </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/E/C/8/3_levis_1993.jpg" alt="Levis_1993" class="avatar-pic"><span class="namebox"><span class="name">Levis_1993</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">06-15</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>196</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/Levis_1993/article/details/80702826" target="_blank" title="Sticky Header 的两种实现方式 - Lewis_1993的博客"><span class="desc oneline">&amp;amp;amp;amp;amp;amp;amp;lt;p style=&amp;amp;amp;amp;amp;amp;quot;margin-bottom:100px;&amp;amp;amp;amp;amp;a...</span></a><span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/Levis_1993">来自:    <span class="blog_title"> Lewis_1993的博客</span></a></span></p></div></div><div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u010177022/article/details/78521224,BlogCommendFromBaidu_30,index_30&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u010177022/article/details/78521224,BlogCommendFromBaidu_30,index_30&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/u010177022/article/details/78521224" target="_blank" title="Android 给RecyclerView添加头部和尾部 - DonKingLiang的专栏"><h4 class="text-truncate oneline" style="width: 610px;">Android 给<em>RecyclerView</em>添加<em>头部</em>和尾部 - DonKingLiang的专栏             </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/7/9/9/3_u010177022.jpg" alt="u010177022" class="avatar-pic"><span class="namebox"><span class="name">u010177022</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">11-13</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>1709</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/u010177022/article/details/78521224" target="_blank" title="Android 给RecyclerView添加头部和尾部 - DonKingLiang的专栏"><span class="desc oneline">HeaderViewAdapter可以对已有的RecyclerView.Adapter进行包装,使其具备给列表添加头部和添加尾部的功能。就相当给RecyclerView扩展了类似ListView的ad...</span></a><span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/u010177022">来自:   <span class="blog_title"> DonKingLiang的专栏</span></a></span></p></div></div><div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qibin0506/article/details/49716795,BlogCommendFromBaidu_31,index_31&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qibin0506/article/details/49716795,BlogCommendFromBaidu_31,index_31&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/qibin0506/article/details/49716795" target="_blank" title="RecyclerView添加Header的正确方式 - Loader's Blog"><h4 class="text-truncate oneline" style="width: 609px;"><em>RecyclerView</em>添加Header的正确方式 - Loader's Blog             </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/3/5/7/3_qibin0506.jpg" alt="qibin0506" class="avatar-pic"><span class="namebox"><span class="name">qibin0506</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">11-08</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>5.3万</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/qibin0506/article/details/49716795" target="_blank" title="RecyclerView添加Header的正确方式 - Loader's Blog"><span class="desc oneline">看了一下博客目录,已经有好几篇博客是关于RecyclerView的,不过对于这么一款强大的控件,我还是要再写一篇博客来学习一下,这篇博客的主题是《为RecyclerView添加header》,当然在看...</span></a><span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/qibin0506">来自: <span class="blog_title"> Loader's Blog</span></a></span></p></div></div><div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u014732430/article/details/73550433,BlogCommendFromBaidu_32,index_32&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u014732430/article/details/73550433,BlogCommendFromBaidu_32,index_32&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/u014732430/article/details/73550433" target="_blank" title="为recyclerview添加悬浮view - yu_bug的博客"><h4 class="text-truncate oneline" style="width: 618px;">为<em>recyclerview</em>添加<em>悬浮</em>view - yu_bug的博客               </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/8/7/C/3_u014732430.jpg" alt="u014732430" class="avatar-pic"><span class="namebox"><span class="name">u014732430</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">06-21</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>988</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/u014732430/article/details/73550433" target="_blank" title="为recyclerview添加悬浮view - yu_bug的博客"><span class="desc oneline">文章参考自http://www.jianshu.com/p/fe69a53502ab.源码也去这上找吧.
    

    另外感谢上边连接作者.其实代码没多少…

    来自: yu_bug的博客

    <div class="recommend-item-box recommend-ad-box"><div id="kp_box_65" data-pid="65" data-track-view="{&quot;mod&quot;:&quot;kp_popu_65-84&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_65-84&quot;,&quot;con&quot;:&quot;,,&quot;}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1542785853298_365" id="QIHOO__WEB__SO__1542785853298_365" style="display:block;margin:0;padding:0;border:none;width:852px;height:60px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1542785853298_365-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1542785853298_365 singleImage clk" data-href="https://ssxd.mediav.com/s?type=2&amp;r=20&amp;mv_ref=blog.csdn.net&amp;enup=CAABcXSf2AgAAtifdHEA&amp;mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&amp;bid=12bab6ef532fda85&amp;price=AAAAAFv1Cz0AAAAAAAwTXSqoQmp9jGubcsTYlw==&amp;finfo=DAABCAABAAAANAgAAgAAAHEEAAM/PeWvEFMEFAAIAAIAAAADCgADV2/S9EpbPkkIAAQAAAByBgAGLbcIAAgAB/ZqCgAJAAAAAAACEBgGAAoAAAA&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&amp;uai=FaixkwIlAhUEFt7JnPiB69vvrgEV8ggl94Ok3w0lABUaAA&amp;ubi=FbLVPxX2nLoCFZCH6xYVhpumVxUEFRwWyJDq0gMW3snbrZ+96e+uATQGFrDAECUGFbn53NIMFagBFQA2kLy01cmxgJHoAQA&amp;clickid=0&amp;cpx=__OFFSET_X__&amp;cpy=__OFFSET_Y__&amp;cs=__EVENT_TIME_START__&amp;ce=__EVENT_TIME_END__&amp;csign=8b74a3afd6e9069d&amp;csign2=gG_WUTqBh8U=&amp;url=http%3A%2F%2Fonline.aihua-education.xyz%2FZH-360-PC4%2FTC%2F%3FTD-LYY-1119-C" data-pv="https://ssxd.mediav.com/s?type=1&amp;r=20&amp;tid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&amp;finfo=DAABCAABAAAANAgAAgAAAHEEAAM/PeWvEFMEFAAIAAIAAAADCgADV2/S9EpbPkkIAAQAAAByBgAGLbcIAAgAB/ZqCgAJAAAAAAACEBgGAAoAAAA&amp;mv_ref=blog.csdn.net&amp;enup=CAABcXSf2AgAAtifdHEA&amp;mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&amp;bid=12bab6ef532fda85&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&amp;uai=FaixkwIlAhUEFt7JnPiB69vvrgEV8ggl94Ok3w0lABUaAA&amp;ubi=FbLVPxX2nLoCFZCH6xYVhpumVxUEFRwWyJDq0gMW3snbrZ+96e+uATQGFrDAECUGFbn53NIMFagBFQA2kLy01cmxgJHoAQA&amp;ds=3&amp;price=AAAAAFv1Cz0AAAAAAAwTXSqoQmp9jGubcsTYlw==,https://max-l.mediav.com/rtb?type=2&amp;d=100&amp;b=12bab6ef532fda85&amp;p=2255956&amp;l=1136674&amp;s=3&amp;z=1&amp;w=AAAAAFv1Cz0AAAAAAAwTfxu5XqALgLh8hIV9hw==&amp;k=X+dS8AAAAAA=&amp;i=9LyYAulES9co&amp;v=11141769802331111100018" data-clk="https://max-l.mediav.com/rtb?type=3&amp;d=100&amp;b=12bab6ef532fda85&amp;p=2255956&amp;l=1136674&amp;s=3&amp;k=X+dS8AAAAAA=&amp;i=9LyYAulES9co&amp;v=11141769802331111100018&amp;x=__OFFSET_X__&amp;y=__OFFSET_Y__&amp;st=__EVENT_TIME_START__&amp;et=__EVENT_TIME_END__&amp;tc=&amp;turl=">
    <info-div class="wrap"><info-div class="singleImage-img singleImage-img-left"><info-div class="img" style="background-image:url(https://s3m.mediav.com/galileo/521561-e3376a15912ed2f8568d67903429cb5c.jpg)"><info-div class="ads-tag"></info-div></info-div></info-div><info-div class="singleImage-body singleImage-body-left"><info-div class="singleImage-title">11月起,东门开通初高中学历读本科通道,1.5年课程,毕业即本科</info-div><info-div class="singleImage-desc">爱华国际 · 顶新</info-div></info-div>
    
         <div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq_28898075/article/details/68923977,BlogCommendFromBaidu_33,index_33&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq_28898075/article/details/68923977,BlogCommendFromBaidu_33,index_33&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/qq_28898075/article/details/68923977" target="_blank" title="使用ItemDecoration为RecyclerView打造带悬停头部的分组列表 - qq_28898075的博客"><h4 class="text-truncate oneline" style="width: 618px;">使用ItemDecoration为<em>RecyclerView</em>打造带悬停<em>头部</em>的分组列表 - qq_28898075的博客             </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/5/A/E/3_qq_28898075.jpg" alt="qq_28898075" class="avatar-pic"><span class="namebox"><span class="name">qq_28898075</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">03-31</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>948</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/qq_28898075/article/details/68923977" target="_blank" title="使用ItemDecoration为RecyclerView打造带悬停头部的分组列表 - qq_28898075的博客"><span class="desc oneline">package jiuyuhulian.com.merchantstoreApp.view;
    

    import android.content.Context;
    import android.graph…

    来自: qq_28898075的博客

         <div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/zxt0601/article/details/52355199,BlogCommendFromBaidu_34,index_34&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/zxt0601/article/details/52355199,BlogCommendFromBaidu_34,index_34&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/zxt0601/article/details/52355199" target="_blank" title="【Android 仿微信通讯录 导航分组列表-上】使用ItemDecoration为RecyclerView打造带悬停头部的分组列表 - zxt0601的博客"><h4 class="text-truncate oneline" style="width: 609px;">【Android 仿微信通讯录 导航分组列表-上】使用ItemDecoration为<em>RecyclerView</em>打造带悬停<em>头部</em>的分组列表 - zxt0601的博客               </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/4/3/8/3_zxt0601.jpg" alt="zxt0601" class="avatar-pic"><span class="namebox"><span class="name">zxt0601</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">08-29</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>2.2万</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/zxt0601/article/details/52355199" target="_blank" title="【Android 仿微信通讯录 导航分组列表-上】使用ItemDecoration为RecyclerView打造带悬停头部的分组列表 - zxt0601的博客"><span class="desc oneline">*本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布  【Android 仿微信通讯录 导航分组列表-上】使用ItemDecoration为RecyclerView打造带悬停头部的分组...</span></a><span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/zxt0601">来自:  <span class="blog_title"> zxt0601的博客</span></a></span></p></div></div><div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq906786621/article/details/53079695,BlogCommendFromQuerySearch_35,index_35&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/qq906786621/article/details/53079695,BlogCommendFromQuerySearch_35,index_35&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/qq906786621/article/details/53079695" target="_blank" title="Android轻松实现RecyclerView悬浮条 - qq906786621的专栏"><h4 class="text-truncate oneline" style="width: 618px;">Android轻松实现<em>RecyclerView</em><em>悬浮</em>条 - qq906786621的专栏               </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/5/4/5/3_qq906786621.jpg" alt="qq906786621" class="avatar-pic"><span class="namebox"><span class="name">qq906786621</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">11-08</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>330</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/qq906786621/article/details/53079695" target="_blank" title="Android轻松实现RecyclerView悬浮条 - qq906786621的专栏"><span class="desc oneline">http://www.jianshu.com/p/fe69a53502ab</span></a><span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/qq906786621">来自:   <span class="blog_title"> qq906786621的专栏</span></a></span></p></div></div><div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/zhaocanrong/article/details/52525368,BlogCommendFromQuerySearch_36,index_36&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/zhaocanrong/article/details/52525368,BlogCommendFromQuerySearch_36,index_36&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/zhaocanrong/article/details/52525368" target="_blank" title="**collecttionView实现头部视图悬停** - zhaocanrong的博客"><h4 class="text-truncate oneline" style="width: 618px;">**collecttionView实现<em>头部</em>视图悬停** - zhaocanrong的博客              </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/3/E/F/3_zhaocanrong.jpg" alt="zhaocanrong" class="avatar-pic"><span class="namebox"><span class="name">zhaocanrong</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">09-13</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>148</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/zhaocanrong/article/details/52525368" target="_blank" title="**collecttionView实现头部视图悬停** - zhaocanrong的博客"><span class="desc oneline">collecttionView实现头部视图悬停
    

    控制器是UIViewController或者UICollectionViewController都可以使用,已经封装好了,直接可是在工程中使用。
    1…

    来自: zhaocanrong的博客

         <div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/walid1992/article/details/50188641,BlogCommendFromQuerySearch_37,index_37&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/walid1992/article/details/50188641,BlogCommendFromQuerySearch_37,index_37&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/walid1992/article/details/50188641" target="_blank" title="浅谈viewpager嵌套tablayout + 头部可伸缩view - 王永迪的专栏"><h4 class="text-truncate oneline" style="width: 610px;">浅谈viewpager嵌套tablayout + <em>头部</em>可伸缩view - 王永迪的专栏              </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/7/A/C/3_walid1992.jpg" alt="walid1992" class="avatar-pic"><span class="namebox"><span class="name">walid1992</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">12-05</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>3738</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/walid1992/article/details/50188641" target="_blank" title="浅谈viewpager嵌套tablayout + 头部可伸缩view - 王永迪的专栏"><span class="desc oneline">前言 &nbsp;:&nbsp;
    

    大多数项目中都会使用到viewpager + tablayout,还有的项目需求是带有头部而且头部可以伸缩效果,在这里

    一、自定义tablayout选…

    来自: 王永迪的专栏

    <div class="recommend-item-box recommend-ad-box"><div id="kp_box_66" data-pid="66" data-track-view="{&quot;mod&quot;:&quot;kp_popu_66-87&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_66-87&quot;,&quot;con&quot;:&quot;,,&quot;}"><div class="mediav_ad"><newsfeed class="newsfeed QIHOO__WEB__SO__1542785853318_414" id="QIHOO__WEB__SO__1542785853318_414" style="display:block;margin:0;padding:0;border:none;width:852px;height:60px;overflow-y:hidden;overflow-x:hidden;position:relative;text-align:left;"><info-div id="QIHOO__WEB__SO__1542785853318_414-info" style="zoom:1"><info-div class="QIHOO__WEB__SO__1542785853318_414 singleImage clk" data-href="https://s1.milkjpg.com/s?type=2&amp;r=20&amp;mv_ref=blog.csdn.net&amp;enup=CAABcXSf2AgAAtifdHEA&amp;mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&amp;bid=12bab6ef68a26f61&amp;price=AAAAAFv1Cz0AAAAAAAe5GtRz3ylupvKKtACc2Q==&amp;finfo=DAABCAABAAAAVggAAgAAAHYEAAM/RTm27ScpEQAIAAIAAAADCgADPY+uzHhCcLsIAAQAAACFBgAGLbcIAAgADR9gCgAJAAAAAAACEBIGAAoAAAA&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&amp;uai=FeTGlAIlAhUEFt7JjuD3msWPexXyCCWYloqWByUAFRoA&amp;ubi=FbaOSxWCtrgCFfbm4BYV6o6pVxUEFSIWvODAhBcW3sni/J6z1497NAgWpMCQgAglBhXjqrfQCBW+BRUANqe40Jn9yKOlRQA&amp;clickid=0&amp;cpx=__OFFSET_X__&amp;cpy=__OFFSET_Y__&amp;cs=__EVENT_TIME_START__&amp;ce=__EVENT_TIME_END__&amp;csign=fd426a5ea5e1be01&amp;csign2=nutSYooVtG2=&amp;url=http%3A%2F%2Fwen2.rov5.cn%2F" data-pv="https://s1.milkjpg.com/s?type=1&amp;r=20&amp;tid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&amp;finfo=DAABCAABAAAAVggAAgAAAHYEAAM/RTm27ScpEQAIAAIAAAADCgADPY+uzHhCcLsIAAQAAACFBgAGLbcIAAgADR9gCgAJAAAAAAACEBIGAAoAAAA&amp;mv_ref=blog.csdn.net&amp;enup=CAABcXSf2AgAAtifdHEA&amp;mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&amp;bid=12bab6ef68a26f61&amp;ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&amp;uai=FeTGlAIlAhUEFt7JjuD3msWPexXyCCWYloqWByUAFRoA&amp;ubi=FbaOSxWCtrgCFfbm4BYV6o6pVxUEFSIWvODAhBcW3sni/J6z1497NAgWpMCQgAglBhXjqrfQCBW+BRUANqe40Jn9yKOlRQA&amp;ds=4&amp;price=AAAAAFv1Cz0AAAAAAAe5GtRz3ylupvKKtACc2Q==,https://max-l.mediav.com/rtb?type=2&amp;d=100&amp;b=12bab6ef68a26f61&amp;p=2265522&amp;l=1136674&amp;s=4&amp;z=1&amp;w=AAAAAFv1Cz0AAAAAAAe5NjDlVa5f7BGVaD6qnA==&amp;k=NFMUrgAAAAA=&amp;i=jQO68SlES9Ca&amp;v=11141769802331111100018" data-clk="https://max-l.mediav.com/rtb?type=3&amp;d=100&amp;b=12bab6ef68a26f61&amp;p=2265522&amp;l=1136674&amp;s=4&amp;k=NFMUrgAAAAA=&amp;i=jQO68SlES9Ca&amp;v=11141769802331111100018&amp;x=__OFFSET_X__&amp;y=__OFFSET_Y__&amp;st=__EVENT_TIME_START__&amp;et=__EVENT_TIME_END__&amp;tc=&amp;turl=">
    <info-div class="wrap"><info-div class="singleImage-img singleImage-img-left"><info-div class="img" style="background-image:url(https://s3m.mediav.com/galileo/615323-814b6b801facc1e5c1861c6f2648828d.jpg)"><info-div class="ads-tag"></info-div></info-div></info-div><info-div class="singleImage-body singleImage-body-left"><info-div class="singleImage-title">27岁东门妹子通过网络平台赚钱,爆赚成网红!!!</info-div><info-div class="singleImage-desc">元昌盈投资 · 燨燚</info-div></info-div>
    
         <div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/SilentWeek/article/details/52958611,BlogCommendFromQuerySearch_38,index_38&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/SilentWeek/article/details/52958611,BlogCommendFromQuerySearch_38,index_38&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/SilentWeek/article/details/52958611" target="_blank" title="Android RecycleView设置头部或者底部视图,给固定高度失效问题 - SilentWeek的博客"><h4 class="text-truncate oneline" style="width: 618px;">Android RecycleView设置<em>头部</em>或者底部视图,给固定高度失效问题 - SilentWeek的博客             </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/8/1/F/3_silentweek.jpg" alt="SilentWeek" class="avatar-pic"><span class="namebox"><span class="name">SilentWeek</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">10-28</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>575</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/SilentWeek/article/details/52958611" target="_blank" title="Android RecycleView设置头部或者底部视图,给固定高度失效问题 - SilentWeek的博客"><span class="desc oneline">先上代码:    private void setAdapter() {setData();        mRecyclerView.setLayoutManager(new Li...</span></a><span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/SilentWeek">来自: <span class="blog_title"> SilentWeek的博客</span></a></span></p></div></div><div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/juzipchy/article/details/76595831,BlogCommendFromQuerySearch_39,index_39&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/juzipchy/article/details/76595831,BlogCommendFromQuerySearch_39,index_39&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/juzipchy/article/details/76595831" target="_blank" title="用position: sticky 实现粘性元素区域悬浮效果 - juzipchy的博客"><h4 class="text-truncate oneline" style="width: 618px;">用position: sticky 实现<em>粘性</em>元素区域<em>悬浮</em>效果 - juzipchy的博客               </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/9/C/0/3_juzipchy.jpg" alt="juzipchy" class="avatar-pic"><span class="namebox"><span class="name">juzipchy</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">08-02</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>814</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/juzipchy/article/details/76595831" target="_blank" title="用position: sticky 实现粘性元素区域悬浮效果 - juzipchy的博客"><span class="desc oneline">在一些很长的表格中,常常会使用表头悬浮的设计以方便阅读,即在表格离开窗口之前,表头会一直 fixed 悬浮在表格的最顶上。还有许多诸如评论框等元素,也采用了这种被称为 Sticky Pin 或者 粘性...</span></a><span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/juzipchy">来自:   <span class="blog_title"> juzipchy的博客</span></a></span></p></div></div><div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/zgcqflqinhao/article/details/83013923,BlogCommendFromBaidu_40,index_40&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/zgcqflqinhao/article/details/83013923,BlogCommendFromBaidu_40,index_40&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/zgcqflqinhao/article/details/83013923" target="_blank" title="RecyclerView 粘性(悬浮)头部 - 禽兽先生不禽兽"><h4 class="text-truncate oneline" style="width: 626px;"><em>RecyclerView</em> <em>粘性</em>(<em>悬浮</em>)<em>头部</em> - 禽兽先生不禽兽             </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/B/4/8/3_zgcqflqinhao.jpg" alt="zgcqflqinhao" class="avatar-pic"><span class="namebox"><span class="name">zgcqflqinhao</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">10-17</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>56</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/zgcqflqinhao/article/details/83013923" target="_blank" title="RecyclerView 粘性(悬浮)头部 - 禽兽先生不禽兽"><span class="desc oneline">
    

    感谢

    【Android】RecyclerView:打造悬浮效果

    RecyclerView分组悬浮列表

    上图来自于网络,上图的列表中有一个悬浮的粘性头部的效果,现在这种效果的需求比较常见了,像…

    来自: 禽兽先生不禽兽

         <div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/liangfeng093/article/details/78709927,BlogCommendFromBaidu_41,index_41&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/liangfeng093/article/details/78709927,BlogCommendFromBaidu_41,index_41&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/liangfeng093/article/details/78709927" target="_blank" title="使用RecyclerView的ItemDecoration实现StickyHeader效果(笔记) - liangfeng093的博客"><h4 class="text-truncate oneline" style="width: 618px;">使用<em>RecyclerView</em>的ItemDecoration实现StickyHeader效果(笔记) - liangfeng093的博客             </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/F/D/B/3_liangfeng093.jpg" alt="liangfeng093" class="avatar-pic"><span class="namebox"><span class="name">liangfeng093</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">12-04</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>111</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/liangfeng093/article/details/78709927" target="_blank" title="使用RecyclerView的ItemDecoration实现StickyHeader效果(笔记) - liangfeng093的博客"><span class="desc oneline">最近要做一个类似QQ浏览器的浏览记录效果
    

    就是下面的效果

    QQ浏览器玩了半天,分析出了一点东西。
    之前用ItemDecoration给RecyclerView绘制item过分割线…

    来自: liangfeng093的博客

         <div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u011374875/article/details/51744496,BlogCommendFromBaidu_42,index_42&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/u011374875/article/details/51744496,BlogCommendFromBaidu_42,index_42&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/u011374875/article/details/51744496" target="_blank" title="StickHeaderItemDecoration--RecyclerView使用的固定头部装饰类 - CT的专栏"><h4 class="text-truncate oneline" style="width: 609px;">StickHeaderItemDecoration--<em>RecyclerView</em>使用的固定<em>头部</em>装饰类 - CT的专栏              </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/B/9/4/3_u011374875.jpg" alt="u011374875" class="avatar-pic"><span class="namebox"><span class="name">u011374875</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">06-23</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>1.1万</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/u011374875/article/details/51744496" target="_blank" title="StickHeaderItemDecoration--RecyclerView使用的固定头部装饰类 - CT的专栏"><span class="desc oneline">StickHeaderItemDecoration是用于显示固定头部的item装饰类,扩展来自系统的ItemDecoration.本文参考了一部分sticky-headers-recyclerview...</span></a><span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/u011374875">来自:   <span class="blog_title"> CT的专栏</span></a></span></p></div></div><div class="recommend-item-box recommend-ad-box"><div id="kp_box_67" data-pid="67" data-track-view="{&quot;mod&quot;:&quot;kp_popu_67-658&quot;,&quot;con&quot;:&quot;,,&quot;}" data-track-click="{&quot;mod&quot;:&quot;kp_popu_67-658&quot;,&quot;con&quot;:&quot;,,&quot;}"><script type="text/javascript">
    (function() {var s = "_" + Math.random().toString(36).slice(2);document.write('<div style="" id="' + s + '"></div>');(window.slotbydup = window.slotbydup || []).push({id: "u3573058",container:  s});
    })();
    
    id="iframeu3573058_0" src="https://pos.baidu.com/ucvm?conwid=852&conhei=60&rdid=3573058&dc=3&di=u3573058&dri=0&dis=0&dai=1&ps=6853x425&enu=encoding&dcb=___adblockplus&dtm=HTML_POST&dvi=0.0&dci=-1&dpt=none&tsr=0&tpr=1542785853339&ti=RecyclerView%20%E6%82%AC%E6%B5%AE%2F%E7%B2%98%E6%80%A7%E5%A4%B4%E9%83%A8%E2%80%94%E2%80%94StickyHeaderDecoration%20-%20%E5%87%B6%E6%AE%8B%E7%9A%84%E7%A8%8B%E5%BA%8F%E5%91%98%20-%20CSDN&ari=2&dbv=2&drs=1&pcs=1506x746&pss=1506x6906&cfv=0&cpl=3&chi=1&cce=true&cec=UTF-8&tlm=1542785853&prot=2&rw=746&ltu=https%3A%2F%2Fblog.csdn.net%2Fqian520ao%2Farticle%2Fdetails%2F76167193&ltr=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DNHRo77qKSwOYIfnU__sDBS3L3wqzz9jCtocl4seky11xxdoiSDBMch2sf9WzvxaWDLTIid0g9RTb2qN_lK7HbN2taCl_xR9a2tPRUTAQThS%26wd%3D%26eqid%3D961a4cc40000fa1b000000065bf50b32&ecd=1&uc=1536x824&pis=-1x-1&sr=1536x864&tcn=1542785853&qn=5e9eb4a6bad48992&tt=1542785852897.445.445.448" width="852" height="60" align="center,center" vspace="0" hspace="0" scrolling="no">
         <div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/msquan/article/details/80270302,BlogCommendFromBaidu_43,index_43&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/msquan/article/details/80270302,BlogCommendFromBaidu_43,index_43&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/msquan/article/details/80270302" target="_blank" title="ItemDecoration固定头部(分组+分割线) - msquan的博客"><h4 class="text-truncate oneline" style="width: 626px;">ItemDecoration固定<em>头部</em>(分组+分割线) - msquan的博客             </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/0/4/9/3_msquan.jpg" alt="msquan" class="avatar-pic"><span class="namebox"><span class="name">msquan</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">05-10</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>69</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/msquan/article/details/80270302" target="_blank" title="ItemDecoration固定头部(分组+分割线) - msquan的博客"><span class="desc oneline">参考资料:https://www.jianshu.com/p/b46a4ff7c10a先来张最终效果图具体说明代码注释有了,这里就不说了。public class BudgetContrastData...</span></a><span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/msquan">来自:  <span class="blog_title"> msquan的博客</span></a></span></p></div></div><div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/yearningseeker/article/details/79709802,BlogCommendFromBaidu_44,index_44&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/yearningseeker/article/details/79709802,BlogCommendFromBaidu_44,index_44&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/yearningseeker/article/details/79709802" target="_blank" title="recyclerView中GridLayoutManager实现每一行不同布局的问题 - yearningseeker的博客"><h4 class="text-truncate oneline" style="width: 610px;"><em>recyclerView</em>中GridLayoutManager实现每一行不同布局的问题 - yearningseeker的博客              </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/3/5/A/3_yearningseeker.jpg" alt="yearningseeker" class="avatar-pic"><span class="namebox"><span class="name">yearningseeker</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">03-27</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>2780</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/yearningseeker/article/details/79709802" target="_blank" title="recyclerView中GridLayoutManager实现每一行不同布局的问题 - yearningseeker的博客"><span class="desc oneline">标题看起来比较拗口啊,直接上图:项目需求:1.整个页面需要下拉刷新2.整个页面可滑动3.底部数据很多,需要上拉加载更多因为整个页面需要滑动,所以上面两个横条的内容不能写死,而且,两个横条的内容有时候也...</span></a><span class="blog_title_box oneline"><a target="_blank" href="https://blog.csdn.net/yearningseeker">来自: <span class="blog_title"> yearningseeker的博客</span></a></span></p></div></div><div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/SilenceOO/article/details/77839683,BlogCommendFromBaidu_45,index_45&quot;}" data-track-click="{&quot;mod&quot;:&quot;popu_387&quot;,&quot;con&quot;:&quot;,https://blog.csdn.net/SilenceOO/article/details/77839683,BlogCommendFromBaidu_45,index_45&quot;}" data-flg="true"><div class="content" style="width: 702px;"><a href="https://blog.csdn.net/SilenceOO/article/details/77839683" target="_blank" title="RecyclerView实现顶部悬浮、字母排序、过滤搜索最优雅的方式 - PennTsui"><h4 class="text-truncate oneline" style="width: 610px;"><em>RecyclerView</em>实现顶部<em>悬浮</em>、字母排序、过滤搜索最优雅的方式 - PennTsui              </h4><div class="info-box d-flex align-content-center"><!-- <p class="avatar"><img src="https://avatar.csdn.net/1/6/5/3_silenceoo.jpg" alt="SilenceOO" class="avatar-pic"><span class="namebox"><span class="name">SilenceOO</span><span class="triangle"></span></span></p> --><p class="date-and-readNum"><span class="date hover-show">09-04</span><span class="read-num hover-hide"><svg class="icon csdnc-yuedushu" aria-hidden="true"><use xlink:href="#csdnc-m-passwords-visible"></use></svg>6740</span></p></div></a><p class="content" style="width: 702px;"><a href="https://blog.csdn.net/SilenceOO/article/details/77839683" target="_blank" title="RecyclerView实现顶部悬浮、字母排序、过滤搜索最优雅的方式 - PennTsui"><span class="desc oneline">效果:
    

    这篇文章算是之前一篇的升级版,在上一篇的基础上新增了顶部悬停功能、波浪侧边栏和关于多音字的一个处理。

RecyclerView 悬浮/粘性头部——StickyHeaderDecoration相关推荐

  1. android 头部分割线,ItemDecoration实践之分割线与粘性头部

    RecyclerView提供了良好的设计,将各部分功能的实现都拆解开,方便自定义,虽然加大了使用难度,但是却大大的增加了可扩展性,稍微会使用之后,扩展起来非常的舒心. 功能:适用于以下几种布局的分割线 ...

  2. Android RecyclerView添加Header头部

     Android RecyclerView添加Header头部 Android RecyclerView不像以前的ListView那样直接添加头部,如果要给RecyclerView增加头部,则需要 ...

  3. android recyclerview添加头部,Android RecyclerView添加Header头部

     Android RecyclerView添加Header头部 Android RecyclerView不像以前的ListView那样直接添加头部,如果要给RecyclerView增加头部,则需要 ...

  4. RecyclerView悬浮条

    转载自:http://www.jianshu.com/p/fe69a53502ab 在我们在刷Instagram的动态时,你是否注意到这样一个小小的动效,就是当一条动态(以卡片形式呈现)向上滑动时,动 ...

  5. RecyclerView悬浮标题

    效果图:        1.顶部会悬浮章的部分 2.第二章上滑会推挤第一章 3.第二章下拉会带出第一章 4.并不是所有时候都有悬浮部分(为什么这条标红,因为市面上几乎所有的悬浮都是必须存在且在顶部,害 ...

  6. CSS / JS 实现粘性头部(滚动到一定位置后固定)

    要实现的效果:  当页面滚动到一定位置时,.nav position的值变为 fixed css 实现 .nav {position: sticky;top: 0px; }   粘性定位可以被认为是相 ...

  7. recycleview横向展开_Android开发之基于RecycleView实现的头部悬浮控件

    RecyclerView是一种类似于ListView的一个滑动列表,但是RecyclerView和ListView相比,RecyclerView比ListView更好,RecyclerView支持横向 ...

  8. Android 仿微信通讯录 导航分组列表-上】使用ItemDecoration为RecyclerView打造带悬停头部的分组列表

    本文是Android导航分组列表系列上,因时间和篇幅原因分上下,最终上下合璧,完整版效果如下:   上部残卷效果如下:两个ItemDecoration,一个实现悬停头部分组列表功能,一个实现分割线(官 ...

  9. 【Android 仿微信通讯录 导航分组列表-上】使用ItemDecoration为RecyclerView打造带悬停头部的分组列表

    *本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 转载请标明出处: http://blog.csdn.net/zxt0601/article/details/52355199 本文 ...

最新文章

  1. 解题报告:luogu P3916 图的遍历( 缩点 + DFS ? × 思维 + 反向建边 + DFS √ )
  2. 【错误记录】Android 编译时技术版本警告 ( 注解处理器与主应用支持的 Java 版本不匹配 )
  3. C# 调用 taskkill命令结束服务进程
  4. 5-spark学习笔记-spark集群应用与监控
  5. 颠覆:链表在删除和插入的效率一定优于数组吗?
  6. pandas 取excel 中的某一列_Excel快速分表(xlwings+pandas)
  7. 怎样自动提取邮件的内容_这些最新的外贸搜索开发工具(图灵搜、谷歌搜索提取工具、易查查),你会使用吗?...
  8. vi是linux文本界面编辑器吗,LINUX初学之文本编辑器(vi ,vim)
  9. 如何将日志配置文件放入到Apollo配置中心并支持热更新
  10. 深入浅出 Golang 协程池设计
  11. CSRF 攻击的对象
  12. 用Python快速实现YOLO目标检测
  13. hallo world
  14. NO.4 计算有序数组的平方
  15. amoeba mysql_Amoeba介绍及Amoeba和mysql proxy有区别
  16. amd cpu排行_最新intel和amd处理器性能排行cpu天梯图2019
  17. 实现antd中Form、Form.Item组件
  18. 最全UnityHub下载链接Unity2022~2017各版本+Unity5.x【间歇性更新】
  19. 80年代的Mac好用吗?
  20. MMDetection亲测安装教程

热门文章

  1. 鼠标经过变大1.2倍、旋转360度并改变背景色。
  2. 《Flocking for Multi-Agent Dynamic Systems:Algorithms and Theory》仿真展示
  3. TED2——如何掌控你的自由时间
  4. 王小波 《沉默的大多数》_akala啦_新浪博客
  5. 我想问在刚学c语言时总是头痛 有好方法的吗
  6. 拯救者14(i7-4720HQ)电池驱动过程记录
  7. 大数据信息资料采集:58同城赶集百姓网分类网二手物品信息采集
  8. 史上最最最靠谱的ubantu 18.04 显卡超频教程;以及核显输出图像,独显用于计算教程;附带无显示器超频教程
  9. 国内率先!南航上线法大大电子合同签章系统
  10. python round(1234.5678、-2)_python数组的使用