iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >Android如何实现RecyclerView添加分割线
  • 941
分享到

Android如何实现RecyclerView添加分割线

recyclerviewandroid 2023-05-30 22:05:54 941人浏览 安东尼
摘要

这篇文章给大家分享的是有关Android如何实现RecyclerView添加分割线的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、前言刚开始学习RecyclerView的时候我跟着一个视频学的,当时添加分割线是

这篇文章给大家分享的是有关Android如何实现RecyclerView添加分割线的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

1、前言

刚开始学习RecyclerView的时候我跟着一个视频学的,当时添加分割线是从外面导入一个Java类,然后使用里面的函数来创建分割线的,所以一直以来我都是这样做的。直到前几天才无意中发现,原来v7包中提供了一个DividerItemDecoration类,利用它,我们可以很简单地实现RecyclerView的分割线!那还等什么呢?赶紧用起来。

2、创建一个简单的RecyclerView

首先当然应该来一个RecyclerView,这里就不再赘述了,随便造点数据就好。直接上代码:

public class MainActivity extends AppCompatActivity {  private RecyclerView recyclerView;  private ArrayList<String> titles = new ArrayList<>();  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    //初始化RecyclerView    recyclerView = (RecyclerView) findViewById(R.id.recyclerView);    recyclerView.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false));    for (int i = 0; i < 20; i++) {      titles.add("标题"+i);    }    recyclerView.setAdapter(new RecyclerViewAdapter(this,titles));  }}

RecyclerViewAdapter的代码:

public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder> {  private Context context;  private ArrayList<String> datas;  class ViewHolder extends RecyclerView.ViewHolder {    ImageView ivIcon;    TextView tvTitle;    public ViewHolder(View itemView) {      super(itemView);      ivIcon = (ImageView) itemView.findViewById(R.id.iv_icon);      tvTitle = (TextView) itemView.findViewById(R.id.tv_title);    }  }  public RecyclerViewAdapter(Context context, ArrayList<String> datas) {    this.context = context;    this.datas = datas;  }    @Override  public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {    View itemView = View.inflate(context, R.layout.item_recyclerview, null);    RecyclerView.LayoutParams lp = new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,        ViewGroup.LayoutParams.WRAP_CONTENT);    itemView.setLayoutParams(lp);    return new ViewHolder(itemView);  }    @Override  public void onBindViewHolder(ViewHolder holder, int position) {    //根据position得到对应的数据    String data = datas.get(position);    holder.tvTitle.setText(data);  }    @Override  public int getItemCount() {    return datas.size();  }}

运行之后是这样的:

Android如何实现RecyclerView添加分割线

很明显,这个时候是没有分割线的。

3、添加默认的分割线

现在我们就来添加分割线,首先来试试最简单的,也就是安卓自带的分割线。只需要加一行代码即可。

//添加Android自带的分割线    recyclerView.addItemDecoration(new DividerItemDecoration(this,DividerItemDecoration.VERTICAL));

addItemDecoration方法需要一个DividerItemDecoration的对象,而创建其对象时,我们需要传入上下文和分割线的方向。再运行一下,就可以看到分割线出现了:

Android如何实现RecyclerView添加分割线

4、自定义分割线

有时候默认的浅灰色的分割线并不能满足我们的要求,这时我们就需要自己“写”一条分割线了,那应该怎么写呢?打开DividerItemDecoration看看它的源码,有这么一个函数:

  public void setDrawable(@NonNull Drawable drawable) {    if (drawable == null) {      throw new IllegalArgumentException("Drawable cannot be null.");    }    mDivider = 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);

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

Android如何实现RecyclerView添加分割线

这样一来使用范围就广很多了,比如item之间需要一定的间隔,那么我们就可以加一条透明的分割线。

5、总结

添加分割线的代码很简单,以后需要加一条简单的分割线时就可以这么处理。不过要注意这只适用于列表布局(LinearLayout)的RecyclerView,网格布局(GridLayout)和流式布局(StaggeredGridLayout)就不适用了。

感谢各位的阅读!关于“Android如何实现RecyclerView添加分割线”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Android如何实现RecyclerView添加分割线

本文链接: https://www.lsjlt.com/news/221911.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android如何实现RecyclerView添加分割线
    这篇文章给大家分享的是有关Android如何实现RecyclerView添加分割线的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、前言刚开始学习RecyclerView的时候我跟着一个视频学的,当时添加分割线是...
    99+
    2023-05-30
    recyclerview android
  • Android 给RecyclerView添加分割线的具体步骤(分享)
    【吐槽】RecyclerView没有提供分割线的方法,想要加个线还要自己画,点击事件的监听都要自己实现,不过真的好用。给RecyclerView添加分割线的步骤1、新建类继承于RecyclerView.ItemDecoration,此为是抽...
    99+
    2023-05-31
    recyclerview 分割线 android
  • Android RecyclerView实现水平、垂直方向分割线
    android RecyclerView不像过去的ListView那样随意的设置水平方向的分割线,如果要实现RecyclerView的水平/垂直分割线,则需要继承自RecyclerView.ItemDecoration重写getItemOf...
    99+
    2023-05-30
    android recyclerview 分割线
  • RecyclerView设置间距和添加分割线的方法
    使用RecyclerView布局,经常需要调整间距和添加分割线以达到更美观的效果,虽然一直接触和使用,但却从来没有认真研究过,经常忘记如何使用,现在就来好好研究一番 先放上一个没有分...
    99+
    2024-04-02
  • Android中RecyclerView如何实现Item添加和删除
    这篇文章主要介绍Android中RecyclerView如何实现Item添加和删除,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!先上效果图:RecyclerView简介:RecyclerView用以下两种方式简化了数...
    99+
    2023-05-30
    android recyclerview item
  • Android项目中怎么添加分割线
    Android项目中怎么添加分割线?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。效果:         &...
    99+
    2023-05-31
    android roi 目中
  • Android用RecyclerView实现动态添加本地图片
    本文介绍了Android用RecyclerView实现动态添加本地图片,分享给大家,具体如下:本文所用的多图选择的library来自:https://github.com/lovetuzitong/MultiImageSelector简单介...
    99+
    2023-05-30
    android 动态 添加图片
  • 使用RecyclerView时如何去除底部的分割线
    本篇文章给大家分享的是有关使用RecyclerView时如何去除底部的分割线,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。自定义分割线通过分析源码后我们发现没有相关的方法来处理...
    99+
    2023-05-31
    recyclerview 何去 recycle
  • html中怎样添加一条分割线
    html 中有三种方法可添加分割线:使用 <hr> 元素创建水平线使用 css border 属性自定义分割线样式使用图像创建复杂分割线 HTML 中如何添加分割线 在...
    99+
    2024-04-27
    css
  • HTML如何实现分割线特效
    这篇文章将为大家详细讲解有关HTML如何实现分割线特效 ,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、基本线条二、特效(效果并不是孤立的,可相互组合)1、两头渐变透明...
    99+
    2024-04-02
  • android recyclerview分组怎么实现
    要实现Android RecyclerView的分组功能,可以按照以下步骤进行:1. 创建一个包含分组数据和子项数据的数据结构。可以...
    99+
    2023-10-18
    android
  • Android如何实现RecyclerView适配器
    这篇文章主要讲解了“Android如何实现RecyclerView适配器”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android如何实现RecyclerView适配器”吧!源码地址: G...
    99+
    2023-06-14
  • Android 手写RecyclerView实现列表加载
    目录前言1 RecyclerView的加载流程2 自定义RecyclerView2.1 RecyclerView三板斧2.2 初始化工作2.3 ItemView的获取与摆放2.4 复...
    99+
    2024-04-02
  • Android中封装RecyclerView实现添加头部和底部示例代码
    前言我们大家都知道ListView具有添加头部和添加底部的方法,但是RecyclerView并没有这样子的方法。所以RecyclerView是不能添加底部和头部的,但是能不能仿造ListView来实现RecyclerView添加头部和底部呢...
    99+
    2023-05-30
    android recyclerview封装 头部尾部
  • Android开发RecyclerView实现折线图效果
    本文实例为大家分享了Android开发RecyclerView实现折线图效果的具体代码,供大家参考,具体内容如下 效果图如下: 实现的关键是自定义的控件: package com....
    99+
    2024-04-02
  • android项目中如何实现给RecyclerView加上折叠效果
    android项目中如何实现给RecyclerView加上折叠效果?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。效果总结一下这个列表的特点,就是以下三点: 重...
    99+
    2023-05-31
    recyclerview android recycle
  • Android开发使用RecyclerView添加点击事件实例详解
    目录引言一、RecyclerView基本使用1. 添加适配器Adapter2. 创建列表的每个项的item_layout.xml文件3. 在activity中使用二、Recycler...
    99+
    2024-04-02
  • javascript如何添加双实线
    这篇文章给大家分享的是有关javascript如何添加双实线的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在javascript中,可以使用“css()”方法添加双实线,语法格式为“$("元素名称&qu...
    99+
    2023-06-15
  • Android中RecyclerView实现商品分类功能
    本文实例为大家分享了Android中RecyclerView实现商品分类功能的具体代码,供大家参考,具体内容如下 三个个RecyclerView实现 //左边的布局  <Lin...
    99+
    2024-04-02
  • 如何在Android中利用Recyclerview实现一个上拉加载功能
    如何在Android中利用Recyclerview实现一个上拉加载功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在项目中使用列表的下拉刷新和上拉加载更多是很常见的功能,下拉...
    99+
    2023-05-31
    android recyclerview recycle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作