RecyclerView 添加自定义分割线

默认的浅灰色的分割线在某些时候并不能满足我们的要求,这时就需要自定义一条分割线了。

需要调用setDrawable(@NonNull Drawable drawable)方法,然后传入一个Drawable函数对象就可以了。

现在可以用shape来编写一个分割线样式:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">

    <gradient
        android:centerColor="#ff00ff00" //绿色
        android:endColor="#ff0000ff"    //蓝色
        android:startColor="#ffff0000"  //红色
        android:type="linear" />
    <size android:height="3dp" />

</shape>

添加分割线的代码改为如下:

//添加自定义分割线
DividerItemDecoration divider = new DividerItemDecoration(this,DividerItemDecoration.VERTICAL);
divider.setDrawable(ContextCompat.getDrawable(this,R.drawable.custom_divider));
recyclerView.addItemDecoration(divider);

运行起来之后,就可以看到一条多彩的分割线了:

原文地址:https://www.cnblogs.com/renhui/p/11465200.html

时间: 2024-07-28 21:14:56

RecyclerView 添加自定义分割线的相关文章

RecyclerView网格分割线

网格的分割线实现起来和线性差不了多少,主要注意的是,当达到最后一行时,不绘制横线,当达到最后一列时,不绘制竖线, public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) { super.getItemOffsets(outRect, view, parent, state); int spanCount = getSpanCount(parent); in

RecyclerView线性分割线

由于recyclerview默认是没有分割线的,需要显示分割线的话,可以在布局里添加一条有背景色的View标签,或者通过ItemDecoration来实现,本文以后者为例. ItemDecoration里有2个重要的方法,onDraw和getItemOffsets. class MyItemDecoration extends RecyclerView.ItemDecoration { private int mOrientation = LinearLayout.VERTICAL; priva

RecyclerView添加分割线但无法显示

最近在使用RecyclerView时,添加分割线,但是分割线却不显示,进过仔细研究发现时间上是显示的,只不过显示的颜色刚好与item的颜色一样,误以为没有显示.这是因为分割线默认使用的是系统listDivider , 在构建DividerItemDecoration时不要使用context,直接使用Activity即可解决.下面是出问题的代码: RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerView);

RecyclerView添加分割线

mRecyclerView = findView(R.id.id_recyclerview); //设置布局管理器 mRecyclerView.setLayoutManager(layout); //设置adapter mRecyclerView.setAdapter(adapter) //设置Item增加.移除动画 mRecyclerView.setItemAnimator(new DefaultItemAnimator()); //添加分割线 mRecyclerView.addItemDec

RecyclerView的万能分割线

效果图: 使用方法: 添加默认分割线:高度为2px,颜色为灰色 mRecyclerView.addItemDecoration(new RecycleViewDivider(mContext, LinearLayoutManager.VERTICAL)); 添加自定义分割线:可自定义分割线drawable mRecyclerView.addItemDecoration(new RecycleViewDivider( mContext, LinearLayoutManager.VERTICAL,

艺术控件RecyclerView的分隔线&amp;bug解决

前言 RecyclerView是Google在support-v7里面添加的控件,是5.0 Material Design模式下的一员,在众多的App中使用非常频繁,之前是ListView现在是RecyclerView,想比之下RecyclerView更加的灵活,高内聚低耦合,将ListView功能进行了拆分,各个类各司其职构成了现在的RecyclerView. 效果~ Part 1.LinearLayoutAppCompat源码分析 在使用RecyclerView的分割线之前,不得不介绍一下L

Android RecyclerView 使用完全解析

http://blog.csdn.net/lmj623565791/article/details/45059587 转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/45059587: 本文出自:[张鸿洋的博客] 概述 RecyclerView出现已经有一段时间了,相信大家肯定不陌生了,大家可以通过导入support-v7对其进行使用. 据官方的介绍,该控件用于在有限的窗口中展示大量数据集,其实这样功能的控件我们并不陌生,例如

RecyclerView使用进阶

目前的项目中,基本已经使用 RecyclerView 全面替换了ListView,GridView. 使用RecyclerView确实更加灵活,功能也更加强大. RecyclerView的基本套路应该都很熟悉了,这里整理一下一些相对进阶一点的知识点,方便随时复习. 分割线 虽然和ListView比较, RecyclerView 设置分割线麻烦了很多, 不过也更自由了,可以实现更多的效果. RecyclerView 默认是没有分割线的,需要通过下面这个方法添加 public void addIte

Android RecyclerView 使用完全解析 体验艺术般的控件

概述 RecyclerView出现已经有一段时间了,相信大家肯定不陌生了,大家可以通过导入support-v7对其进行使用. 据官方的介绍,该控件用于在有限的窗口中展示大量数据集,其实这样功能的控件我们并不陌生,例如:ListView.GridView. 那么有了ListView.GridView为什么还需要RecyclerView这样的控件呢?整体上看RecyclerView 架构 ,提供了一种插拔式的体验,高度的解耦,异常的灵活,通过设置它提供的不同LayoutManager,ItemDec