RecyclerView之ItemDecoration小记

最近在用RecyclerView做开发,偷个懒就借用android提供sample中的DividerItenDecoration类做分隔线,没想到中间出现了分隔线不显示的情况,为了找出原因,我在类里面加了个Paint,在同样的地方画一根线,这个线显示出来了,原来的分隔线还是没有显示出来,可能是getDrawable方法返回的是null,于是将类的参数修改了一下,原来是getApplicationContext(),现在改成了getContext(),分隔线正常显示了,总算找出原因了,是因为getApplicationContext().getDrawable()方法是在android21之后才有的,而在之前的版本上运行这个方法就会抛出java.lang.NoSuchMethodError: android.content.Context.getDrawable 异常,所以才会出现分隔线不显示。

时间: 2024-11-09 05:52:28

RecyclerView之ItemDecoration小记的相关文章

从头开始学 RecyclerView(五) ItemDecoration 详解

前言 RecyclerView.ItemDecoration,通过名字来看,它就是用来装饰Item的. 在类ListView的视图中,可能需要绘制分隔线:在类GridView的网格视图中,可能需要绘制单元格样式- 这些都可以由重写RecyclerView.ItemDecoration来进行定制. 然后调用mRecyclerView.addItemDecoration(itemDecoration); 即可 分析 看下RecyclerView.ItemDecoration的源码: public s

android RecyclerView (二) ItemDecoration 详解

RecyclerView 已经推出了一年多了,日常开发中也已经彻底从 ListView 迁移到了 RecyclerView,但前两天有人在一个安卓群里面问了个关于最顶上的 item view 加蒙层的问题,被人用 ItemDecoration 完美解决.此时我发现自己对 RecyclerView 的使用一直太过基本,更深入更强大的功能完全没有涉及,像 ItemDecoration, ItemAnimator, SmoothScroller, OnItemTouchListener, Layout

【Android 仿微信通讯录 导航分组列表-上】使用ItemDecoration为RecyclerView打造带悬停头部的分组列表

[Android 仿微信通讯录 导航分组列表-上]使用ItemDecoration为RecyclerView打造带悬停头部的分组列表 一 概述 本文是Android导航分组列表系列上,因时间和篇幅原因分上下,最终上下合璧,完整版效果如下: 上部残卷效果如下:两个ItemDecoration,一个实现悬停头部分组列表功能,一个实现分割线(官方demo) 网上关于实现带悬停分组头部的列表的方法有很多,像我看过有主席的自定义ExpandListView实现的,也看过有人用一个额外的父布局里面套 Rec

RecyclerView探索之通过ItemDecoration实现StickyHeader效果

我在上一篇<小甜点,RecyclerView 之 ItemDecoration 讲解及高级特性实践 > 讲解了 ItemDecoration 的基本用法及它的一些实践,抱着学习研究的态度,这一篇作为实践篇主要目的是尝试通过 ItemDecoration 来实现 RecyclerView 中的 StickyHeader 功能. 关于 StickyHeader 想必大家已经很清楚了,如果不有不清楚的,看下图: 如果要实现 StickyHeader 的话,首先,我们得明白普通的 Header 是怎么

Android RecyclerView 设置item间隔的方法

RecyclerView大家常用,但是如何给加载出来的item增加间隔很多人都不知道,下面是方法,直接上代码了: LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity()); recyclerView.setLayoutManager(layoutManager); qujangAdapter = new QujiangAdapter(qujiangList, getActivity()); //设置ite

RecyclerView使用要点

RecyclerView是一种列表容器, 发布很久了, 才想起来写点什么. RecyclerView相比于ListView, 在回收重用时更具有灵活性, 也就是低耦合, 并且提供了扩展. 加载多个视图时, 应该多用RecyclerView代替ListView. 那么我们来看看这东西应该怎么用? 比如生成一个瀑布流的视图. 首先我们从一个HelloWorld写起, 看看如何构建一个RecyclerView. 1. 依赖库 Gradle配置, 添加Recycler库 compile 'com.and

解决RecyclerView无法onItemClick问题

对于RecyclerView的使用,大家可以查看将替代ListView的RecyclerView 的使用(一),单单从代码结构来说RecyclerView确实比ListView优化了很多,也简化了我们编写代码量,但是有一个问题会导致开发者不会去用它,更比说替换ListView了,我不知道使用过RecyclerView的人有没有进一步查看,RecyclerView没有提供Item的点击事件,我们使用列表不仅仅为了显示数据,同时也可以能会交互,所以RecyclerView这个问题导致基本没有人用它,

Android RecyclerView 使用例子

1.RecyclerView是什么? RecylerView是support-v7包中的新组件,是一个强大的滑动组件,与经典的ListView相比,同样拥有item回收复用的功能,这一点从它的名字recylerview即回收view也可以看出.看到这也许有人会问,不是已经有ListView了吗,为什么还要RecylerView呢?这就牵扯到第二个问题了. 2.RecyclerView的优点是什么? 根据官方的介绍RecylerView是ListView的升级版,既然如此那RecylerView必

android v7兼容包RecyclerView的使用(二)

上篇文章 android v7兼容包RecyclerView的使用(一)讲了RecyclerView的最基本用法,现在开始挖掘更详细的内容. 在RecyclerView的API中,有这样一句话 A flexible view for providing a limited window into a large data set. 大致意思就是:当有大量的数据显示在一个有限大小的窗口上时,RecyclerView就是解决这种情况的一个灵活的View. 从以上描述可以看出RecyclerView的