San*_*dra 21 android margins android-recyclerview
我RecyclerView在我的应用程序中使用并且为了我的设计需要,我需要在列表中的项目之间有不同的边距(例如:前两个项目之间的空间为16dp,第二个和第三个之间的空间项目32dp等).我读到你可以添加项目装饰RecyclerView并在项目之间创建该空间.但是这个东西在所有项目之间增加了相同的余量,我希望不同的项目有不同的行为.我的问题是,可以使用项目装饰来完成吗?这种方法如何比改变项目(视图)的边距更好,例如,onBindViewHolder方法中的方法RecyclerView.Adapter.先感谢您!
psk*_*ink 38
您可以覆盖RecyclerView.ItemDecoration#getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state),为每个可见子项调用它View view,您可以通过调用以下内容获取其在适配器中的位置:
parent.getChildAdapterPosition(view)
Run Code Online (Sandbox Code Playgroud)
或通过致电查看持有人:
parent.getChildViewHolder(view)
Run Code Online (Sandbox Code Playgroud)