如何自定义RecyclerView的点击事件和绘制分割线

编程入门 行业动态 更新时间:2024-10-06 22:19:12

如何<a href=https://www.elefans.com/category/jswz/34/1771438.html style=自定义RecyclerView的点击事件和绘制分割线"/>

如何自定义RecyclerView的点击事件和绘制分割线

一,我是接着上一篇基础上进行绘制RecylerView的网格布局的,所以前戏就不讲了,关于为什么会想到继承RecyclerView.ItemDecoration之类的看上一篇吧,这篇直接分析然后写代码首先我们来分析RecylerView表格布局分割线如何绘制简单。下面来图片进行说明绘制技巧。

上图简单的画了一个RecylerView网格布局,我们通过上图可以分割出每个item的分割线,然后逐个绘制出所有的item的分割线就可以了如图所示,绘制出每一个item的分割线

这里可以看出RecylerView绘制分割线不在有判断列表方向是否是水平还是垂直,不同于线性列表绘制过程的是,它需要绘制下边和右边分割线。如图下图分析:

在item的下边和右边方向上都有偏移量。偏移量分别为我们设置的背景图片的高度和宽度。
所以在方法getItemOffsets里面可以进行设置每个item分割线各个方向上的偏移量。
如图我们可以知道,底部方向上为mDivider.getIntrinsicHeight(),右边方向上的偏移量为mDivider.getIntrinsictWidth();左边和上边都为0,所以各个方向偏移量我们都知道了。如下

在item的下边和右边方向上都有偏移量。偏移量分别为我们设置的背景图片的高度和宽度。
所以在方法getItemOffsets里面可以进行设置每个item分割线各个方向上的偏移量。
如图我们可以知道,底部方向上为mDivider.getIntrinsicHeight(),右边方向上的偏移量为mDivider.getIntrinsictWidth();左边和上边都为0,所以各个方向偏移量我们都知道了。如下
//左边偏移量为0
int left=0;
//上边偏移量为0
int top=0;
//右边偏移量为我们自定义分割线背景图片的宽度
int right=mDivider.getIntrinsicWidth();
//下边我们偏移量为我们自定义分割线背景图片的高度。
int bottom=mDivider.getIntrinsicHeight();

这里我需要说明mDivider是我们定义的图片背景或者默认的。
我们自定义一个宽高为2dp,2dp的图片背景。如下:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android=""android:shape="rectangle"><size android:height="2dp" android:width

更多推荐

如何自定义RecyclerView的点击事件和绘制分割线

本文发布于:2024-02-28 00:36:23,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1767028.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:自定义   分割线   事件   RecyclerView

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!