首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为不同的项目RecyclerView不同的itemDecoration

为不同的项目RecyclerView不同的itemDecoration
EN

Stack Overflow用户
提问于 2014-12-09 21:17:43
回答 1查看 10.7K关注 0票数 21

我在应用程序中使用RecyclerView,出于设计的需要,我需要在列表中的项之间设置不同的页边距(例如:前两项之间的间距为16dp,第二项和第三项之间的间距为32dp等)。我读到您可以向RecyclerView添加项目装饰,并在项目之间创建该空间。但是这个东西在所有项目之间添加了相同的边距,并且我希望不同的项目具有不同的行为。我的问题是,这可以使用项目装饰来完成吗?这种方法比更改RecyclerView.Adapter中的onBindViewHolder方法中的项(视图)的边距更好吗?提前谢谢你!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-10 01:12:02

您可以覆盖RecyclerView.ItemDecoration#getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state),它是为每个可见的子View view调用的,您可以通过调用以下命令来获取其在适配器中的位置:

代码语言:javascript
复制
parent.getChildAdapterPosition(view)

或视图控制符调用以下命令:

代码语言:javascript
复制
parent.getChildViewHolder(view)
票数 39
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27379873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档