转载至:https://blog.youkuaiyun.com/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() {
@Override
public String getHeaderName(int pos) {
return //返回每个分组头部名称;
}
};
- 1
- 2
- 3
- 4
- 5
- 6
自定义头部/悬浮头部layout】【自定义头部加载图片请用
loadImage()
方法】
decoration.setOnDecorationHeadDraw(new NormalDecoration.OnDecorationHeadDraw() {
@Override
public View getHeaderView(int pos) {
return //返回自定义头部view;
}
});
- 1
- 2
- 3
- 4
- 5
- 6
头部点击事件
decoration.setOnHeaderClickListener(new NormalDecoration.OnHeaderClickListener() { @Override public 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 用来加载并刷新图片到分组头部【自定义头部很重要的方法!】
实现解刨
又要开始漫天代码的解刨了,非专业战斗人员…请务必耐着性子看。
首先我们来划分几个主要的功能模块进击的
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里的pos String 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);//布局layout canvas.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>() { @Override public 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))) {//如果下一个分组名称不一致,pass break; } } } 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的span private GridLayoutManager.SpanSizeLookup lookup; @Override public 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 @Override public 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二、实现步骤:
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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/briblue/article/details/70211942,BlogCommendFromBaidu_1,index_1"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/briblue/article/details/70211942,BlogCommendFromBaidu_1,index_1"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/xiaohai695943820/article/details/76672757,BlogCommendFromBaidu_2,index_2"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/xiaohai695943820/article/details/76672757,BlogCommendFromBaidu_2,index_2"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_648","con":",https://edu.youkuaiyun.com/topic/ai30?utm_source=blogt3,"}" data-track-click="{"mod":"popu_648","con":",https://edu.youkuaiyun.com/topic/ai30?utm_source=blogt3,"}"><a href="https://edu.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/xiaanming/article/details/20481185,BlogCommendFromBaidu_3,index_3"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/xiaanming/article/details/20481185,BlogCommendFromBaidu_3,index_3"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/little762/article/details/79391807,BlogCommendFromBaidu_4,index_4"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/little762/article/details/79391807,BlogCommendFromBaidu_4,index_4"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/little762/article/details/79391807" target="_blank" title="Android RecyclerView粘性头部的两种实现方式 - little762的博客"> <span class="desc oneline">先上图:
&lt;方式一&gt;添加外部Header实现方式
&lt;方式二&gt;绘制ItemDecoration实现方式
二者实现效果一样,下面分析下…
来自: little762的博客
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/lly347705530/article/details/78951400,BlogCommendFromBaidu_5,index_5"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/lly347705530/article/details/78951400,BlogCommendFromBaidu_5,index_5"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/baidu_31956557/article/details/53162176,BlogCommendFromBaidu_6,index_6"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/baidu_31956557/article/details/53162176,BlogCommendFromBaidu_6,index_6"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/u012728458/article/details/50260133,BlogCommendFromBaidu_7,index_7"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/u012728458/article/details/50260133,BlogCommendFromBaidu_7,index_7"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"kp_popu_60-43","con":",,"}" data-track-click="{"mod":"kp_popu_60-43","con":",,"}"><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&r=20&mv_ref=blog.youkuaiyun.com&enup=CAABcXSf2AgAAtifdHEA&mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&bid=12bab6ef68a26f61&price=AAAAAFv1Cz0AAAAAAAe3pEmGgR1dZdj8Jgz6ng==&finfo=DAABCAABAAAAYggAAgAAAIUEAAM/SD11bOa8AQAIAAIAAAADCgADPY+ThHMZBioIAAQAAACFBgAGLbcIAAgADwEyCgAJAAAAAAACEBIGAAoAAAA&ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&uai=FeTGlAIlAhUEFt7JjuD3msWPexXyCCWYloqWByUAFRoA&ubi=FdbBSxWqxbkCFcaU5xYVrqeeVxUEFRwW0p2a6BYW3smjx4HhyY97NAIWpMCQgAglBhWggeraBhW+BRUANvXbmOW55/q8awA&clickid=0&cpx=__OFFSET_X__&cpy=__OFFSET_Y__&cs=__EVENT_TIME_START__&ce=__EVENT_TIME_END__&csign=ae758a17b72085a1&csign2=QzWflBYie8G=&url=http%3A%2F%2Fztgp.wxojh.top%2F" data-pv="https://s1.milkjpg.com/s?type=1&r=20&tid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&finfo=DAABCAABAAAAYggAAgAAAIUEAAM/SD11bOa8AQAIAAIAAAADCgADPY+ThHMZBioIAAQAAACFBgAGLbcIAAgADwEyCgAJAAAAAAACEBIGAAoAAAA&mv_ref=blog.youkuaiyun.com&enup=CAABcXSf2AgAAtifdHEA&mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&bid=12bab6ef68a26f61&ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&uai=FeTGlAIlAhUEFt7JjuD3msWPexXyCCWYloqWByUAFRoA&ubi=FdbBSxWqxbkCFcaU5xYVrqeeVxUEFRwW0p2a6BYW3smjx4HhyY97NAIWpMCQgAglBhWggeraBhW+BRUANvXbmOW55/q8awA&ds=1&price=AAAAAFv1Cz0AAAAAAAe3pEmGgR1dZdj8Jgz6ng==,https://max-l.mediav.com/rtb?type=2&d=100&b=12bab6ef68a26f61&p=2265522&l=1136674&s=1&z=1&w=AAAAAFv1Cz0AAAAAAAe34xPFjfMWbEguFNIAPA==&k=NFMUrgAAAAA=&i=j5w68SlES94v&v=11141769802331111100018" data-clk="https://max-l.mediav.com/rtb?type=3&d=100&b=12bab6ef68a26f61&p=2265522&l=1136674&s=1&k=NFMUrgAAAAA=&i=j5w68SlES94v&v=11141769802331111100018&x=__OFFSET_X__&y=__OFFSET_Y__&st=__EVENT_TIME_START__&et=__EVENT_TIME_END__&tc=&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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/oushangfeng123/article/details/47500009,BlogCommendFromBaidu_8,index_8"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/oushangfeng123/article/details/47500009,BlogCommendFromBaidu_8,index_8"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/courses/o5329_s5330_k " target="_blank"> 机器学习 </a></span> <span> <a href="https://edu.youkuaiyun.com/courses/o5329_s5330_k " target="_blank"> 机器学习课程 </a></span> <span> <a href="https://edu.youkuaiyun.com/courses/o5329_s5330_k " target="_blank"> 机器学习教程 </a></span> <span> <a href="https://edu.youkuaiyun.com/combos/o5329_s5331_l0_t " target="_blank"> 深度学习视频教程 </a></span> <span> <a href="https://edu.youkuaiyun.com/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.youkuaiyun.com/gather_25/MtTakg4sODUxMy1ibG9n.html" target="_blank"> android粘性头部</a> </span> <span> <a href="https://www.youkuaiyun.com/gather_28/MtTakg4sMDg4MS1ibG9n.html" target="_blank"> android 通讯录粘性布局</a> </span> <span> <a href="https://www.youkuaiyun.com/gather_2a/MtTakg5sMDYwNy1ibG9n.html" target="_blank"> android recyclerview刷新</a> </span> <span> <a href="https://www.youkuaiyun.com/gather_20/MtTakg5sMTM1OS1ibG9n.html" target="_blank"> android如何引入recyclerview</a> </span> <span> <a href="https://www.youkuaiyun.com/gather_26/MtTakg4sNzY4Mi1ibG9n.html" target="_blank"> android自带下拉刷新的recyclerview</a> </span> <span> <a href="https://www.youkuaiyun.com/gather_4a/MtSa1glsZHUO0O0O.html" target="_blank"> python教程+chm</a> </span> <span> <a href="https://www.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/vily_luky/article/details/79006341,BlogCommendFromBaidu_9,index_9"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/vily_luky/article/details/79006341,BlogCommendFromBaidu_9,index_9"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_709","con":"https://blog.youkuaiyun.com/qian520ao/article/details/76167193"}"><div class="blog-expert-item"><div class="blog-expert-info-box"><div class="blog-expert-img-box" data-track-click="{"mod":"popu_709","con":"https://blog.youkuaiyun.com/qian520ao/article/details/76167193"}"><a href="https://blog.youkuaiyun.com/walid1992" target="_blank"><img src="https://avatar.youkuaiyun.com/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="{"mod":"popu_709","con":"https://blog.youkuaiyun.com/qian520ao/article/details/76167193"}"><a href="https://blog.youkuaiyun.com/walid1992" target="_blank"><h5 class="oneline">王永迪</h5></a></span> <p><span data-track-click="{"mod":"popu_710","con":"https://blog.youkuaiyun.com/qian520ao/article/details/76167193"}"><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="{"mod":"popu_709","con":"https://blog.youkuaiyun.com/qian520ao/article/details/76167193"}"><a href="https://blog.youkuaiyun.com/u011310942" target="_blank"><img src="https://avatar.youkuaiyun.com/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="{"mod":"popu_709","con":"https://blog.youkuaiyun.com/qian520ao/article/details/76167193"}"><a href="https://blog.youkuaiyun.com/u011310942" target="_blank"><h5 class="oneline">小_源</h5></a></span> <p><span data-track-click="{"mod":"popu_710","con":"https://blog.youkuaiyun.com/qian520ao/article/details/76167193"}"><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="{"mod":"popu_709","con":"https://blog.youkuaiyun.com/qian520ao/article/details/76167193"}"><a href="https://blog.youkuaiyun.com/tsdfk1455" target="_blank"><img src="https://avatar.youkuaiyun.com/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="{"mod":"popu_709","con":"https://blog.youkuaiyun.com/qian520ao/article/details/76167193"}"><a href="https://blog.youkuaiyun.com/tsdfk1455" target="_blank"><h5 class="oneline">阁楼猫</h5></a></span> <p><span data-track-click="{"mod":"popu_710","con":"https://blog.youkuaiyun.com/qian520ao/article/details/76167193"}"><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.2 C170.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-60 C160,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.5 c-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.5 S104.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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/cjm2484836553/article/details/53453982,BlogCommendESEnWordWeight_10,index_10"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/cjm2484836553/article/details/53453982,BlogCommendESEnWordWeight_10,index_10"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/sunbinkang/article/details/53024199,BlogCommendFromBaidu_11,index_11"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/sunbinkang/article/details/53024199,BlogCommendFromBaidu_11,index_11"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/sunbinkang/article/details/53024199" target="_blank" title="很简单为RecyclerView添加头部:使用一个类RecyclerViewHeader - sunbinkang的博客"> <span class="desc oneline">首先看下自己的RecyclerView是否包裹在 LinearLayout, FrameLayout, RelativeLayout.这三种布局中,否则会报错:
Currently, NOT alr…
来自: sunbinkang的博客
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/xiaxiazaizai01/article/details/62430432,BlogCommendFromBaidu_12,index_12"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/xiaxiazaizai01/article/details/62430432,BlogCommendFromBaidu_12,index_12"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"kp_popu_61-557","con":",,"}" data-track-click="{"mod":"kp_popu_61-557","con":",,"}"><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&r=20&mv_ref=blog.youkuaiyun.com&enup=CAABcXSf2AgAAtifdHEA&mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&bid=12bab6ef532fda85&price=AAAAAFv1Cz0AAAAAAAwSeysVYnM6vGY/+pKtCQ==&finfo=DAABCAABAAAAOAgAAgAAAHEEAAM/PeG1px3d9gAIAAIAAAADCgADV2/AxOflDkEIAAQAAAB6BgAGHQMIAAgACIuACgAJAAAAAAACEBgGAAoAAAA&ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&uai=FaixkwIlAhUEFt7JnPiB69vvrgEV8ggl94Ok3w0lABUaAA&ubi=FYCISRXSirgCFYSE3xYVlJ+QVxUGFRwW7qHy4BYW3smx34ux4O+uATQCFrDAkIAIJQYVvovfkQ0V+AUVADb7ypz4gpmn5XsA&clickid=0&cpx=__OFFSET_X__&cpy=__OFFSET_Y__&cs=__EVENT_TIME_START__&ce=__EVENT_TIME_END__&csign=b9db89f160a0827a&csign2=WTHatCOS4HZ=&url=http%3A%2F%2Fgp1.mysdkj123.cn%2F" data-pv="https://s1.milkjpg.com/s?type=1&r=20&tid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&finfo=DAABCAABAAAAOAgAAgAAAHEEAAM/PeG1px3d9gAIAAIAAAADCgADV2/AxOflDkEIAAQAAAB6BgAGHQMIAAgACIuACgAJAAAAAAACEBgGAAoAAAA&mv_ref=blog.youkuaiyun.com&enup=CAABcXSf2AgAAtifdHEA&mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&bid=12bab6ef532fda85&ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&uai=FaixkwIlAhUEFt7JnPiB69vvrgEV8ggl94Ok3w0lABUaAA&ubi=FYCISRXSirgCFYSE3xYVlJ+QVxUGFRwW7qHy4BYW3smx34ux4O+uATQCFrDAkIAIJQYVvovfkQ0V+AUVADb7ypz4gpmn5XsA&ds=1&price=AAAAAFv1Cz0AAAAAAAwSeysVYnM6vGY/+pKtCQ==,https://max-l.mediav.com/rtb?type=2&d=100&b=12bab6ef532fda85&p=2255956&l=1136674&s=1&z=1&w=AAAAAFv1Cz0AAAAAAAwSn/NrS2be/W/N5UoP3w==&k=X+dS8AAAAAA=&i=9L4YAulES9cu&v=11141769802331111100018" data-clk="https://max-l.mediav.com/rtb?type=3&d=100&b=12bab6ef532fda85&p=2255956&l=1136674&s=1&k=X+dS8AAAAAA=&i=9L4YAulES9cu&v=11141769802331111100018&x=__OFFSET_X__&y=__OFFSET_Y__&st=__EVENT_TIME_START__&et=__EVENT_TIME_END__&tc=&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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/qq_34240569/article/details/78283447,BlogCommendFromBaidu_13,index_13"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/qq_34240569/article/details/78283447,BlogCommendFromBaidu_13,index_13"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/chenbaige/article/details/51445189,BlogCommendFromBaidu_14,index_14"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/chenbaige/article/details/51445189,BlogCommendFromBaidu_14,index_14"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/liulong_/article/details/78950160,BlogCommendFromBaidu_15,index_15"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/liulong_/article/details/78950160,BlogCommendFromBaidu_15,index_15"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/liulong_">来自: <span class="blog_title"> liulong_的博客</span></a></span> </p> </div> </div> <div class="recommend-item-box recommend-box-ident" data-track-view="{"mod":"popu_387","con":",https://download.youkuaiyun.com/download/qq_33531662/9602434,searchFromBaidu_16,index_16"}" data-track-click="{"mod":"popu_387","con":",https://download.youkuaiyun.com/download/qq_33531662/9602434,searchFromBaidu_16,index_16"}" data-flg="true"> <a href="https://download.youkuaiyun.com/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="{"mod":"popu_387","con":",https://download.youkuaiyun.com/download/qibin0506/9282269,searchFromBaidu_17,index_17"}" data-track-click="{"mod":"popu_387","con":",https://download.youkuaiyun.com/download/qibin0506/9282269,searchFromBaidu_17,index_17"}" data-flg="true"> <a href="https://download.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"kp_popu_62-556","con":",,"}" data-track-click="{"mod":"kp_popu_62-556","con":",,"}"><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&r=20&mv_ref=blog.youkuaiyun.com&enup=CAABcXSf2AgAAtifdHEA&mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&bid=12bab6ef68a26f61&price=AAAAAFv1Cz0AAAAAAAe4VrBqcl1BGST2ubGaXA==&finfo=DAABCAABAAAAYAgAAgAAAIwEAAM/RTm27ScpEQAIAAIAAAADCgADPY+cnDxAaM8IAAQAAACUBgAGLbcIAAgADqYACgAJAAAAAAACEBIGAAoAAAA&ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&uai=FeTGlAIlAhUEFt7JjuD3msWPexXyCCWYloqWByUAFRoA&ubi=FbChShX65LoCFeSf7hYV6sCtVxUEFSIW6tjjghcW3sm4rounzo97NAQWpMCQgAglBhW6ppSFBRW+BRUANt2Vjby9qNmQvAEA&clickid=0&cpx=__OFFSET_X__&cpy=__OFFSET_Y__&cs=__EVENT_TIME_START__&ce=__EVENT_TIME_END__&csign=6fc14b5b09020a41&csign2=za6tdHGJsy4=&url=http%3A%2F%2Fwz2.y8y4jk.cn%2F" data-pv="https://s1.milkjpg.com/s?type=1&r=20&tid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&finfo=DAABCAABAAAAYAgAAgAAAIwEAAM/RTm27ScpEQAIAAIAAAADCgADPY+cnDxAaM8IAAQAAACUBgAGLbcIAAgADqYACgAJAAAAAAACEBIGAAoAAAA&mv_ref=blog.youkuaiyun.com&enup=CAABcXSf2AgAAtifdHEA&mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&bid=12bab6ef68a26f61&ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&uai=FeTGlAIlAhUEFt7JjuD3msWPexXyCCWYloqWByUAFRoA&ubi=FbChShX65LoCFeSf7hYV6sCtVxUEFSIW6tjjghcW3sm4rounzo97NAQWpMCQgAglBhW6ppSFBRW+BRUANt2Vjby9qNmQvAEA&ds=2&price=AAAAAFv1Cz0AAAAAAAe4VrBqcl1BGST2ubGaXA==,https://max-l.mediav.com/rtb?type=2&d=100&b=12bab6ef68a26f61&p=2265522&l=1136674&s=2&z=1&w=AAAAAFv1Cz0AAAAAAAe4dR+k+Dn8gwD2F/qJZg==&k=NFMUrgAAAAA=&i=j5v68SlES94Z&v=11141769802331111100018" data-clk="https://max-l.mediav.com/rtb?type=3&d=100&b=12bab6ef68a26f61&p=2265522&l=1136674&s=2&k=NFMUrgAAAAA=&i=j5v68SlES94Z&v=11141769802331111100018&x=__OFFSET_X__&y=__OFFSET_Y__&st=__EVENT_TIME_START__&et=__EVENT_TIME_END__&tc=&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="{"mod":"popu_387","con":",https://download.youkuaiyun.com/download/zjgwxh/8795209,searchFromBaidu_18,index_18"}" data-track-click="{"mod":"popu_387","con":",https://download.youkuaiyun.com/download/zjgwxh/8795209,searchFromBaidu_18,index_18"}" data-flg="true"> <a href="https://download.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/shaoyezhangliwei/article/details/49949373,searchFromBaidu_19,index_19"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/shaoyezhangliwei/article/details/49949373,searchFromBaidu_19,index_19"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/QS219/article/details/52293130,BlogCommendFromGuangxin_20,index_20"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/QS219/article/details/52293130,BlogCommendFromGuangxin_20,index_20"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/bydbbb/article/details/78709732,BlogCommendFromGuangxin_21,index_21"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/bydbbb/article/details/78709732,BlogCommendFromGuangxin_21,index_21"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/jsonChumpKlutz/article/details/79226219,BlogCommendFromGuangxin_22,index_22"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/jsonChumpKlutz/article/details/79226219,BlogCommendFromGuangxin_22,index_22"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"kp_popu_63-555","con":",,"}" data-track-click="{"mod":"kp_popu_63-555","con":",,"}"><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&r=20&mv_ref=blog.youkuaiyun.com&enup=CAABcXSf2AgAAtifdHEA&mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&bid=12bab6ef532fda85&price=AAAAAFv1Cz0AAAAAAAwS855akJEu+zvmFpYj0w==&finfo=DAABCAABAAAANwgAAgAAAHUEAAM/PUyO57iKVQAIAAIAAAADCgADV2/J3KBVg4gIAAQAAAB8BgAGHgMIAAgACGnBCgAJAAAAAAACEBgGAAoAAAA&ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&uai=FaixkwIlAhUEFt7JnPiB69vvrgEV8ggl94Ok3w0lABUaAA&ubi=FY70QBXk+7kCFaK06RYVjrSiVxUGFRwW+sTezBYW3snGxpX35O+uATQEFrDAkIAIJQYV3sCO3g0VwgMVADbpguyct+rHjFUA&clickid=0&cpx=__OFFSET_X__&cpy=__OFFSET_Y__&cs=__EVENT_TIME_START__&ce=__EVENT_TIME_END__&csign=515c370373424709&csign2=fD-cQK-VERj=&url=http%3A%2F%2Fxdd6.sxzctec195.cn%2F" data-pv="https://s1.milkjpg.com/s?type=1&r=20&tid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&finfo=DAABCAABAAAANwgAAgAAAHUEAAM/PUyO57iKVQAIAAIAAAADCgADV2/J3KBVg4gIAAQAAAB8BgAGHgMIAAgACGnBCgAJAAAAAAACEBgGAAoAAAA&mv_ref=blog.youkuaiyun.com&enup=CAABcXSf2AgAAtifdHEA&mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&bid=12bab6ef532fda85&ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&uai=FaixkwIlAhUEFt7JnPiB69vvrgEV8ggl94Ok3w0lABUaAA&ubi=FY70QBXk+7kCFaK06RYVjrSiVxUGFRwW+sTezBYW3snGxpX35O+uATQEFrDAkIAIJQYV3sCO3g0VwgMVADbpguyct+rHjFUA&ds=2&price=AAAAAFv1Cz0AAAAAAAwS855akJEu+zvmFpYj0w==,https://max-l.mediav.com/rtb?type=2&d=100&b=12bab6ef532fda85&p=2255956&l=1136674&s=2&z=1&w=AAAAAFv1Cz0AAAAAAAwTFJyahKIz4zQfJM/uvw==&k=X+dS8AAAAAA=&i=9LjYAulES9cx&v=11141769802331111100018" data-clk="https://max-l.mediav.com/rtb?type=3&d=100&b=12bab6ef532fda85&p=2255956&l=1136674&s=2&k=X+dS8AAAAAA=&i=9LjYAulES9cx&v=11141769802331111100018&x=__OFFSET_X__&y=__OFFSET_Y__&st=__EVENT_TIME_START__&et=__EVENT_TIME_END__&tc=&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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/user11223344abc/article/details/75949632,BlogCommendFromQuerySearch_23,index_23"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/user11223344abc/article/details/75949632,BlogCommendFromQuerySearch_23,index_23"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/user11223344abc/article/details/75949632" target="_blank" title="RecyclerView系列(3)—ItemDirection打造粘性悬浮分组title - 千里逐梦"> <span class="desc oneline">转载请注明出处:
http://blog.youkuaiyun.com/user11223344abc?viewmode=contents
出自【蛟-blog】
0.介绍0.1:先看下效果图吧。
请…
来自: 千里逐梦
<div class="recommend-item-box recommend-box-ident type_blog clearfix" data-track-view="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/wuyuxing24/article/details/80021069,BlogCommendFromQuerySearch_24,index_24"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/wuyuxing24/article/details/80021069,BlogCommendFromQuerySearch_24,index_24"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/wuyuxing24/article/details/80021069" target="_blank" title="RecyclerView实现收缩分组悬浮列表 - 旧路"> <span class="desc oneline">&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;今天给大伙儿分享一个用RecyclerView实现收缩分组悬浮列表的功能。如果只是想实现分组收缩的功能Expand...</span> </a> <span class="blog_title_box oneline"><a target="_blank" href="https://blog.youkuaiyun.com/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="{"mod":"popu_387","con":",https://download.youkuaiyun.com/download/jsonchumpklutz/10233396,BlogCommendFromQuerySearch_25,index_25"}" data-track-click="{"mod":"popu_387","con":",https://download.youkuaiyun.com/download/jsonchumpklutz/10233396,BlogCommendFromQuerySearch_25,index_25"}" data-flg="true"> <a href="https://download.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/x1198928367/article/details/51788478,BlogCommendFromQuerySearch_26,index_26"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/x1198928367/article/details/51788478,BlogCommendFromQuerySearch_26,index_26"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/qq_27439299/article/details/48787621,BlogCommendFromBaidu_27,index_27"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/qq_27439299/article/details/48787621,BlogCommendFromBaidu_27,index_27"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"kp_popu_64-81","con":",,"}" data-track-click="{"mod":"kp_popu_64-81","con":",,"}"><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&r=20&mv_ref=blog.youkuaiyun.com&enup=CAABcXSf2AgAAtifdHEA&mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&bid=12bab6ef68a26f61&price=AAAAAFv1Cz0AAAAAAAe4vmNzfpVOVGLS0KCBbw==&finfo=DAABCAABAAAAWggAAgAAAIIEAAM/ReaEGcmkhAAIAAIAAAADCgADPY+ltG0tawUIAAQAAACHBgAGLbcIAAgADbugCgAJAAAAAAACEBIGAAoAAAYADD9cAA&ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&uai=FeTGlAIlAhUEFt7JjuD3msWPexXyCCWYloqWByUAFRoA&ubi=FaLySxXmyroCFc727BYVvNqrVxUEFRwWztyoiBcW3snNlZXt0o97NAYWpMCQgAglBhX7xacKFeIDFQA2oKmWv5LoxqAsAA&clickid=0&cpx=__OFFSET_X__&cpy=__OFFSET_Y__&cs=__EVENT_TIME_START__&ce=__EVENT_TIME_END__&csign=b70faff857f33ed3&csign2=i3Bd04_-CBL=&url=http%3A%2F%2Fjf.confuciusclass.com.cn%2F" data-pv="https://s1.milkjpg.com/s?type=1&r=20&tid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&finfo=DAABCAABAAAAWggAAgAAAIIEAAM/ReaEGcmkhAAIAAIAAAADCgADPY+ltG0tawUIAAQAAACHBgAGLbcIAAgADbugCgAJAAAAAAACEBIGAAoAAAYADD9cAA&mv_ref=blog.youkuaiyun.com&enup=CAABcXSf2AgAAtifdHEA&mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&bid=12bab6ef68a26f61&ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&uai=FeTGlAIlAhUEFt7JjuD3msWPexXyCCWYloqWByUAFRoA&ubi=FaLySxXmyroCFc727BYVvNqrVxUEFRwWztyoiBcW3snNlZXt0o97NAYWpMCQgAglBhX7xacKFeIDFQA2oKmWv5LoxqAsAA&ds=3&price=AAAAAFv1Cz0AAAAAAAe4vmNzfpVOVGLS0KCBbw==,https://max-l.mediav.com/rtb?type=2&d=100&b=12bab6ef68a26f61&p=2265522&l=1136674&s=3&z=1&w=AAAAAFv1Cz0AAAAAAAe42orANp2WgTkqQjk/tw==&k=NFMUrgAAAAA=&i=jQ368SlES9C8&v=11141769802331111100018" data-clk="https://max-l.mediav.com/rtb?type=3&d=100&b=12bab6ef68a26f61&p=2265522&l=1136674&s=3&k=NFMUrgAAAAA=&i=jQ368SlES9C8&v=11141769802331111100018&x=__OFFSET_X__&y=__OFFSET_Y__&st=__EVENT_TIME_START__&et=__EVENT_TIME_END__&tc=&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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/hx3971/article/details/72967858,BlogCommendFromBaidu_28,index_28"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/hx3971/article/details/72967858,BlogCommendFromBaidu_28,index_28"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/Levis_1993/article/details/80702826,BlogCommendFromBaidu_29,index_29"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/Levis_1993/article/details/80702826,BlogCommendFromBaidu_29,index_29"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/Levis_1993/article/details/80702826" target="_blank" title="Sticky Header 的两种实现方式 - Lewis_1993的博客"> <span class="desc oneline">&amp;amp;amp;amp;amp;amp;lt;p style=&amp;amp;amp;amp;amp;quot;margin-bottom:100px;&amp;amp;amp;amp;a...</span> </a> <span class="blog_title_box oneline"><a target="_blank" href="https://blog.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/u010177022/article/details/78521224,BlogCommendFromBaidu_30,index_30"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/u010177022/article/details/78521224,BlogCommendFromBaidu_30,index_30"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/qibin0506/article/details/49716795,BlogCommendFromBaidu_31,index_31"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/qibin0506/article/details/49716795,BlogCommendFromBaidu_31,index_31"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/u014732430/article/details/73550433,BlogCommendFromBaidu_32,index_32"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/u014732430/article/details/73550433,BlogCommendFromBaidu_32,index_32"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"kp_popu_65-84","con":",,"}" data-track-click="{"mod":"kp_popu_65-84","con":",,"}"><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&r=20&mv_ref=blog.youkuaiyun.com&enup=CAABcXSf2AgAAtifdHEA&mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&bid=12bab6ef532fda85&price=AAAAAFv1Cz0AAAAAAAwTXSqoQmp9jGubcsTYlw==&finfo=DAABCAABAAAANAgAAgAAAHEEAAM/PeWvEFMEFAAIAAIAAAADCgADV2/S9EpbPkkIAAQAAAByBgAGLbcIAAgAB/ZqCgAJAAAAAAACEBgGAAoAAAA&ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&uai=FaixkwIlAhUEFt7JnPiB69vvrgEV8ggl94Ok3w0lABUaAA&ubi=FbLVPxX2nLoCFZCH6xYVhpumVxUEFRwWyJDq0gMW3snbrZ+96e+uATQGFrDAECUGFbn53NIMFagBFQA2kLy01cmxgJHoAQA&clickid=0&cpx=__OFFSET_X__&cpy=__OFFSET_Y__&cs=__EVENT_TIME_START__&ce=__EVENT_TIME_END__&csign=8b74a3afd6e9069d&csign2=gG_WUTqBh8U=&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&r=20&tid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&finfo=DAABCAABAAAANAgAAgAAAHEEAAM/PeWvEFMEFAAIAAIAAAADCgADV2/S9EpbPkkIAAQAAAByBgAGLbcIAAgAB/ZqCgAJAAAAAAACEBgGAAoAAAA&mv_ref=blog.youkuaiyun.com&enup=CAABcXSf2AgAAtifdHEA&mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&bid=12bab6ef532fda85&ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&uai=FaixkwIlAhUEFt7JnPiB69vvrgEV8ggl94Ok3w0lABUaAA&ubi=FbLVPxX2nLoCFZCH6xYVhpumVxUEFRwWyJDq0gMW3snbrZ+96e+uATQGFrDAECUGFbn53NIMFagBFQA2kLy01cmxgJHoAQA&ds=3&price=AAAAAFv1Cz0AAAAAAAwTXSqoQmp9jGubcsTYlw==,https://max-l.mediav.com/rtb?type=2&d=100&b=12bab6ef532fda85&p=2255956&l=1136674&s=3&z=1&w=AAAAAFv1Cz0AAAAAAAwTfxu5XqALgLh8hIV9hw==&k=X+dS8AAAAAA=&i=9LyYAulES9co&v=11141769802331111100018" data-clk="https://max-l.mediav.com/rtb?type=3&d=100&b=12bab6ef532fda85&p=2255956&l=1136674&s=3&k=X+dS8AAAAAA=&i=9LyYAulES9co&v=11141769802331111100018&x=__OFFSET_X__&y=__OFFSET_Y__&st=__EVENT_TIME_START__&et=__EVENT_TIME_END__&tc=&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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/qq_28898075/article/details/68923977,BlogCommendFromBaidu_33,index_33"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/qq_28898075/article/details/68923977,BlogCommendFromBaidu_33,index_33"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/zxt0601/article/details/52355199,BlogCommendFromBaidu_34,index_34"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/zxt0601/article/details/52355199,BlogCommendFromBaidu_34,index_34"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/qq906786621/article/details/53079695,BlogCommendFromQuerySearch_35,index_35"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/qq906786621/article/details/53079695,BlogCommendFromQuerySearch_35,index_35"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/zhaocanrong/article/details/52525368,BlogCommendFromQuerySearch_36,index_36"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/zhaocanrong/article/details/52525368,BlogCommendFromQuerySearch_36,index_36"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/walid1992/article/details/50188641,BlogCommendFromQuerySearch_37,index_37"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/walid1992/article/details/50188641,BlogCommendFromQuerySearch_37,index_37"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/walid1992/article/details/50188641" target="_blank" title="浅谈viewpager嵌套tablayout + 头部可伸缩view - 王永迪的专栏"> <span class="desc oneline">前言 :
大多数项目中都会使用到viewpager + tablayout,还有的项目需求是带有头部而且头部可以伸缩效果,在这里
一、自定义tablayout选…
来自: 王永迪的专栏
<div class="recommend-item-box recommend-ad-box"><div id="kp_box_66" data-pid="66" data-track-view="{"mod":"kp_popu_66-87","con":",,"}" data-track-click="{"mod":"kp_popu_66-87","con":",,"}"><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&r=20&mv_ref=blog.youkuaiyun.com&enup=CAABcXSf2AgAAtifdHEA&mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&bid=12bab6ef68a26f61&price=AAAAAFv1Cz0AAAAAAAe5GtRz3ylupvKKtACc2Q==&finfo=DAABCAABAAAAVggAAgAAAHYEAAM/RTm27ScpEQAIAAIAAAADCgADPY+uzHhCcLsIAAQAAACFBgAGLbcIAAgADR9gCgAJAAAAAAACEBIGAAoAAAA&ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&uai=FeTGlAIlAhUEFt7JjuD3msWPexXyCCWYloqWByUAFRoA&ubi=FbaOSxWCtrgCFfbm4BYV6o6pVxUEFSIWvODAhBcW3sni/J6z1497NAgWpMCQgAglBhXjqrfQCBW+BRUANqe40Jn9yKOlRQA&clickid=0&cpx=__OFFSET_X__&cpy=__OFFSET_Y__&cs=__EVENT_TIME_START__&ce=__EVENT_TIME_END__&csign=fd426a5ea5e1be01&csign2=nutSYooVtG2=&url=http%3A%2F%2Fwen2.rov5.cn%2F" data-pv="https://s1.milkjpg.com/s?type=1&r=20&tid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&finfo=DAABCAABAAAAVggAAgAAAHYEAAM/RTm27ScpEQAIAAIAAAADCgADPY+uzHhCcLsIAAQAAACFBgAGLbcIAAgADR9gCgAJAAAAAAACEBIGAAoAAAA&mv_ref=blog.youkuaiyun.com&enup=CAABcXSf2AgAAtifdHEA&mvid=MTExNDE3Njk4MDIzMzExMTExMDAwMTg&bid=12bab6ef68a26f61&ugi=FcTgigEVyNtrTBUCFUAVXhUAABW8xMyBChaECBXIAQA&uai=FeTGlAIlAhUEFt7JjuD3msWPexXyCCWYloqWByUAFRoA&ubi=FbaOSxWCtrgCFfbm4BYV6o6pVxUEFSIWvODAhBcW3sni/J6z1497NAgWpMCQgAglBhXjqrfQCBW+BRUANqe40Jn9yKOlRQA&ds=4&price=AAAAAFv1Cz0AAAAAAAe5GtRz3ylupvKKtACc2Q==,https://max-l.mediav.com/rtb?type=2&d=100&b=12bab6ef68a26f61&p=2265522&l=1136674&s=4&z=1&w=AAAAAFv1Cz0AAAAAAAe5NjDlVa5f7BGVaD6qnA==&k=NFMUrgAAAAA=&i=jQO68SlES9Ca&v=11141769802331111100018" data-clk="https://max-l.mediav.com/rtb?type=3&d=100&b=12bab6ef68a26f61&p=2265522&l=1136674&s=4&k=NFMUrgAAAAA=&i=jQO68SlES9Ca&v=11141769802331111100018&x=__OFFSET_X__&y=__OFFSET_Y__&st=__EVENT_TIME_START__&et=__EVENT_TIME_END__&tc=&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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/SilentWeek/article/details/52958611,BlogCommendFromQuerySearch_38,index_38"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/SilentWeek/article/details/52958611,BlogCommendFromQuerySearch_38,index_38"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/juzipchy/article/details/76595831,BlogCommendFromQuerySearch_39,index_39"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/juzipchy/article/details/76595831,BlogCommendFromQuerySearch_39,index_39"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/zgcqflqinhao/article/details/83013923,BlogCommendFromBaidu_40,index_40"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/zgcqflqinhao/article/details/83013923,BlogCommendFromBaidu_40,index_40"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/liangfeng093/article/details/78709927,BlogCommendFromBaidu_41,index_41"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/liangfeng093/article/details/78709927,BlogCommendFromBaidu_41,index_41"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/u011374875/article/details/51744496,BlogCommendFromBaidu_42,index_42"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/u011374875/article/details/51744496,BlogCommendFromBaidu_42,index_42"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"kp_popu_67-658","con":",,"}" data-track-click="{"mod":"kp_popu_67-658","con":",,"}"><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-%20优快云&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<u=https%3A%2F%2Fblog.youkuaiyun.com%2Fqian520ao%2Farticle%2Fdetails%2F76167193<r=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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/msquan/article/details/80270302,BlogCommendFromBaidu_43,index_43"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/msquan/article/details/80270302,BlogCommendFromBaidu_43,index_43"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/yearningseeker/article/details/79709802,BlogCommendFromBaidu_44,index_44"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/yearningseeker/article/details/79709802,BlogCommendFromBaidu_44,index_44"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/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="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/SilenceOO/article/details/77839683,BlogCommendFromBaidu_45,index_45"}" data-track-click="{"mod":"popu_387","con":",https://blog.youkuaiyun.com/SilenceOO/article/details/77839683,BlogCommendFromBaidu_45,index_45"}" data-flg="true"> <div class="content" style="width: 702px;"> <a href="https://blog.youkuaiyun.com/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.youkuaiyun.com/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.youkuaiyun.com/SilenceOO/article/details/77839683" target="_blank" title="RecyclerView实现顶部悬浮、字母排序、过滤搜索最优雅的方式 - PennTsui"> <span class="desc oneline">效果:
这篇文章算是之前一篇的升级版,在上一篇的基础上新增了顶部悬停功能、波浪侧边栏和关于多音字的一个处理。