求助:RecyclerView添加分割线后,每次下拉刷新 Item与分割线间都会增加间距。

求指点

  • 每次启动的时候是正常显示的,看不出来问题,如下图:
    首起启动是正常的

  • 下拉刷新一次就会有一个间距,这里为了看清楚,我把Item的背景设成了灰色:刷新一次

  • 下面是刷新多次的效果:
    刷新多次

  • 这里实现分割线我用的是以下代码实现:

 mRvShowDuanzhi.addItemDecoration(new DividerItemDecoration(getContext(),DividerItemDecoration.VERTICAL));

我也尝试在XML文件中加一个imagview,但是,所有的布局都设成了android:layout_width=_"match_parent"但是实际当中确是"wrap_content"的效果。

请大神指点下吧,谢过。
好像每次刷新都会增加一个 分隔条 的高度

刷新前:
图片说明

刷新后:
图片说明

5个回答

以前碰到过,你这方法是不是加在刷新方法中一起的,拿出来 放在初始化方法中, 后一个问题,是实际宽度的问题,按你这样 是不是相对布局的
,把左右边和内容左右边对齐放置把, 没看到你的代码不知道是不是这种情况,你最好还是贴一下代码这样直观,还能帮你运行一下

mRvShowDuanzhi.addItemDecoration(new DividerItemDecoration(getContext(),DividerItemDecoration.VERTICAL));这句话不要重复执行,没执行一次间距就会增加一次,所以recyclerview初始化之后加上这句就行了,下拉刷新的时候就不要执行这句话了

fanyisen
神界码农-D-艾斯 多谢,帮了大忙了
接近 2 年之前 回复

我也尝试在XML文件中加一个imagview,但是,所有的布局都设成了android:layout_width=_"match_parent"但是实际当中确是"wrap_content"的效果。
请大神指点下吧,谢过。

下拉刷新怎么操作的?先试试不加分割线下拉刷新有没有问题

u010584514
书山有路学海无涯 不加分割线不会产生间距,没有问题
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
问题排除:RecyclerView添加分割线后,每次下拉刷新 Item与分割线间都会增加间距。
问题介绍 每次启动的时候是正常显示的,看不出来问题,如下图: 下拉刷新一次就会有一个间距,这里为了看清楚,我把Item的背景设成了灰色: 下面是刷新多次的效果: 这里实现分割线我用的是以下代码实现: mRecyclerView.addItemDecoration(new DividerItemDecoration(getContext(),DividerItemDecoration.VERTICA
RecyclerView addItemDecoration 的妙用 - item 间距平均分布和添加分割线
前言 RecyclerView,在开发当中使用非常频繁的一个控件,今天,主要讲解以下两个问题 添加分割线 item 间距的平均分布 addItemDecoration 方法简介 我们先来看一下 addItemDecoration 方法 [官网链接](https://developer.android.com/reference/android/support/v7/widget/Recycl...
RecyclerView下拉刷新item间距变大的问题
RecyclerView下拉刷新item间距变大的问题 现在列表类布局是非常常见的布局,大多数都是使用RecyclerView来实现。日前在项目中就有一个页面是列表类的,稍微有些不同的是单个item中需要显示图片,类似朋友圈那样的,这样就嵌套了一个RecyclerView,效果见下图: 相关代码如下: @Override public void onBindViewHol...
RecyclerView(一):给RecyclerView的Item之间添加分割线
class MyDecoration extends RecyclerView.ItemDecoration { @Override public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.Sta...
RecyclerView进阶(一)item分割线
如图,一般来说,item之间都应该有分界线。但是RecyclerView并没有提供divider这样的属性。在API中,提供了RecyclerView.ItemDecoration这样一个内部类。API文档是这样描述的: An ItemDecoration allows the application to add a special drawing and layout offset to s
recyclerView添加自定义分割线
recyclerView添加自定义分割线
RecyclerView添加自定义分割线
RecyclerView添加自定义分割线 在开发中会有很多地方用到RecyclerView,那么自然而然也就需要在item间隔添加各家产品要添加分割线,V7包中提供DividerItemDecoration,用它我们可以快速实现自定义分割线,下面是博主开发一个教育类APP部分截图,类似微信朋友圈功能,这里本文只讲 RecyclerView添加自定义分割线. 动态一:没有分割线效果 动态二:添...
RecyclerView添加分割线
RecyclerView添加分割线: 代码很简单, //添加自定义分割线 DividerItemDecoration divider = new DividerItemDecoration(this,DividerItemDecoration.VERTICAL); divider.setDrawable(ContextCompat.getDra...
RecyclerView使用方法和添加分割线
//适配器 public class ClassifyRecyclerView extends RecyclerView.Adapter<ClassifyRecyclerView.MyViewHolder> { //有参构造 private Context context; private ArrayList<ClassifyBean.DataBea...
recyclerview 添加分割线
使用recyclerview默认是没有没分割线的.在使用过程中需要添加分割线.先来看一下有没有分割线的区别 最简单的添加分割线的方法: mRecycleView.addItemDecoration(new DividerItemDecoration(this,DividerItemDecoration.VERTICAL)); 只需要添加这句话,就出现有分割线的效果. 查看 添加分割...
RecyclerView添加虚线分割线
RecyclerView添加虚线分割线,也可添加实线(实线相对简单)
RecyclerView如何添加分割线
RecyclerView recyclerView = ((android.support.v7.widget.RecyclerView) findViewById(R.id.recyclerView)); //设置item动画 recyclerView.setItemAnimator(new DefaultItemAnimator1()); //设置布局管
RecyclerView 的添加分割线
recyclerView= (RecyclerView) findViewById(R.id.rc_goods); //添加分割线 recyclerView.addItemDecoration(new Rc_ItemDecoration(search_homeActivity.this)); //布局管理器 LinearLayoutManager llm=new LinearLayoutMana
recyclerview 动态添加item之间的间距
在代码中动态添加recyclerview的item之间的间距 在初始化recyclerview的时候动态设置代码如下 mRecyclerView.setNestedScrollingEnabled(false);//关闭嵌套滑动 mRecyclerView.addItemDecoration(new RecyclerView.ItemDecoration() { ...
RecyclerView添加表格分割线
需求:recyclerView实现表格效果,并在行与行,列与列之间添加分割线。实现 : 最简单的方法就是使用系统自带的分割线实现类DividerItemDecoration来设置分割线。具体操作: 1)首先 mRecyclerView添加分割线(水平、竖直都加上)mRecyclerView.addItemDecoration(new DividerItemDecoration(
为RecyclerView添加分割线
为RecyclerView添加分割线由于RecyclerView并没有支持divider这样的属性,所以就需要我们自己去实现。1. 给Item的布局去设置margin去实现2. 自由去画分割线这里主要实现第二种创建类继承及RecyclerView.ItemDecorationpublic class MyItemDecoration extends RecyclerView.ItemDecora
Recyclerview多布局设置item间距
/** * 设置RecyclerView的间距 * 这样可以实现Grid和RecyclerView单条显示时,很好的区分开 */ recyclerView.addItemDecoration(new RecyclerView.ItemDecoration() { @Override ...
Recyclerview item上下间距过大
写个类微信的聊天界面,发现item的上下间距总是过大,网上查了很多方法都不适用,不过倒是学习了一波修改item的间距的操作,下面贴网址,没有都试过,效果看个人实践: 1、RecycleView设置item上下间距 2、RecyclerView 设置item间隔的方法 3、android的RecycleView的基本使用和item间隔问题后来,便仔细查看每条代码,这才发现原来问题是:我在定义Re
RecyclerView 设置item之间的间距
主要通调用调用recyclerView 的 setITemDecoration 方法 AppinfoiItemDecoration decor = new AppinfoiItemDecoration(); //设置条目的间距 recycler.addItemDecoration(decor); AppinfoiItemDecoration 继承RecyclerView.I
RecyclerView基本用法(添加分割线,添加头尾布局,下拉刷新上拉加载,添加删除item,以及监听事件)
一.布局文件            布局文件很容易看懂不多说            1.activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" androi
RecyclerView添加下拉刷新和上拉加载更多
在google的android.support.v4包中,提供一个SwipeRefreshLayout方法, 用于实现下拉刷新。在主布局中的文件:加入以下代码:<android.support.v4.widget.SwipeRefreshLayout android:id="@+id/layout_swipe_refresh" android:layout_width="match_
recyclerview中添加下拉刷新
//xml布局属性         android:id="@+id/srl"         android:layout_width="match_parent"         android:layout_height="wrap_content">     //找控件 srl = (SwipeRefreshLayout) v.findViewById(R.id.srl)
RecyclerView抽取基类,item实现点击,增加分割线
首先RecyclerView是一个ViewGroup,它和我们常用的各种Layout一样,是用来装很多子View的容器,那么它里面装的那些View是怎么来的呢?其实是来自ViewHolder中的itemView的。那么ViewHolder是从哪里生成的呢?显示的数据又是在哪里设置的呢?这就是Adapter的作用,它根据要展示数据的内容和类型,生成相应的ViewHolder,并对相应的View进行设...
RecyclerView嵌套Recyclerview,内层Recyclerview设置分割间距时,滑动导致内层分割间距越来越大问题解决。
如题,其实还是item复用的问题,开发中遇到,再次记录一下。 解决方法很简单!如下 if(recyclerview.getItemDecorationCount==0){ recyclerview.addItemDecoration(); } 以上就是解决方法(伪代码); 主要是判断每个item初始化(ItemDecorationCount=0)加载分割间距(分割线)时,之后加载过后该...
Recyclerview之瀑布流分割线左右间距均等问题
今天来记录下瀑布流左右分割线均等设置! 在网上看了很多例子,都是什么万能分割线之类的,但是真正用到瀑布流的分割线却会出现不一致的情况。原因: 下面展示一下非瀑布流的item布局情况:上面那种布局相当于网格布局,每个item的高度都是一样的,所以 他的index就是左右左右,position所对应的itemView就是准确的, 左0,右1,左2,右3,以此类推… 这时候我们可以用下面代码
RecyclerView万能适配器,点击事件,分割线,间距等写法
public class RecyclerHolder extends RecyclerView.ViewHolder { private final SparseArray<View> mViews; public RecyclerHolder(View itemView) { super(itemView); //一般不会超过8个吧
分割线间距
&amp;lt;ListView android:divider=&quot;@drawable/inset_diver&quot; android:dividerHeight=&quot;1dp&quot;/&amp;gt; &amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&amp;gt; &amp;lt;inset xmlns:android=&quot;http://schemas.android.c
RecyclerView添加Item的点击事件
RecyclerView没有像ListView那样的ListView.setOnItemClickListener(),但是提供了RecyclerView.addOnItemTouchListener来设置监听。
RecyclerView添加item的点击事件
步骤 adapter中 自定义一个继承自RecyclerView.Adapter的MyAdapter。 1.在MyAdapter中定义如下接口,模拟ListView的OnItemClickListener public static interface OnItemClickListener { void onItemClick(View view , int positi
recyclerView的item添加监听
recyclerView的item添加监听
RecyclerView添加Item点击事件
今天我们只说一个问题,就是RecyclerView添加Item点击事件,我们之前在使用Listview的时候,Listview提供了很方便的OnItemClickListener事件回调: ListView listView = new ListView(this); listView.setOnItemClickListener(new AdapterView.OnItemCli...
给RecyclerView添加分割线的步骤
【吐槽】RecyclerView没有提供分割线的方法,想要加个线还要自己画,点击事件的监听都要自己实现,不过真的好用。给RecyclerView添加分割线的步骤1, 新建类继承于RecyclerView.ItemDecoration,此为是抽象类: public static abstract class ItemDecoration { public void onDraw(Canva
RecyclerView添加分割线的简便方法
1、前言 刚开始学习RecyclerView的时候我跟着一个视频学的,当时添加分割线是从外面导入一个Java类,然后使用里面的函数来创建分割线的,所以一直以来我都是这样做的。直到前几天才无意中发现,原来v7包中提供了一个DividerItemDecoration类,利用它,我们可以很简单地实现RecyclerView的分割线!那还等什么呢...
Android组件RecyclerView添加分割线
Android组件RecyclerView添加分割线
LowRecyclerView系列之:RecyclerView之添加分割线
关于Recyclerview添加分割线的博客很多,但是很多博客关于分割线都是讲怎么实现的,没有讲原理,而鸿洋大神的关于分割线的文章介绍的很详细,但是感觉有些地方仍然不是太清楚。这篇文章以初学者的角度向大家详细介绍了分割线添加的原理,详细的解读源码,力求让大家能够轻松理解dividers如何添加。同时解析LowRecyclerView的通用分割线的实现。源码分析使用过RecyclerView的小伙伴们
RecyclerView 增加下拉刷新,上拉加载更多功能分析
业务需要RecyclerView增加上拉刷新,下拉加载更多功能,于是写了个Demo,看看运行效果。 main.xml<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_w
RecyclerView添加分割线的两种方法
RecycleView在默认显示的时候没有分割线效果,需要手动添加 #1 Item的layout实现 1)item布局:adapter_itemrealize.xml android:orientation=&quot;horizontal&quot; android:layout_width=&quot;match_parent&quot; android:layout_he
Recyclerview添加自定义的虚线分割线
工作需要,recyclerView添加虚线分割线,想实现的效果是这样的: 需要自定义DashlineDecoration继承自RecyclerView.ItemDecoration,其中有三个方法: public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state)、 public vo
recyclerView在条目间添加分割线。
思路一:         继承ItemDecoration,自定义。          public class SimpleDividerItemDecoration extends RecyclerView.ItemDecoration { private Drawable mDivider; private int mDividerHeight; public
在ListView的Item之间添加分割线
前言: 作为一名程序媛,并且是刚入职的小菜鸟,深知自己能力和天赋有限,因此开启这个技术博客,希望能够形成一个技术知识的积累,希望自己能够成为一名优秀的,高效的,不需要加班的程序员! 那么,现在开始吧,一定要坚持哦~问题:在ListView的Item之间添加分割线解决过程: 之前有实现过简单的listview显示数据,但是没有添加分隔你线的情况,因此,在不知道解决办法的情况
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件