我想在RecyclerView
Layout
中添加分隔线。我已经搜索了一段时间,但我只能找到利用RecyclerView.addItemDecoration
的解决方案,它会在所有项目之间添加分隔符。我可以创建一个只有一行的布局并将其添加到RecyclerView
,但这对我来说似乎不是一个优雅的解决方案。
答案 0 :(得分:4)
您可以编写自定义RecyclerView.ItemDecoration
并仅在需要的位置绘制分隔符。并使用以下内容将其设置为RecyclerView
recyclerView.addItemDecoration(new YourItemDecoration());
这是默认的DividerItemDecoration
源代码:
https://android.googlesource.com/platform/frameworks/support/+/refs/heads/master/v7/recyclerview/src/android/support/v7/widget/DividerItemDecoration.java
您可以在onDraw
方法中找到分隔符绘制逻辑,其中为所有项目绘制分隔符。您必须根据需要更改该部分,仅为某些项目绘制分隔符。 getItemOffsets()
方法为项添加偏移量以为分隔符腾出空间。
答案 1 :(得分:2)
$d
在drawable文件夹中添加cutm_dvdr.xml
DividerItemDecoration myDivider = new DividerItemDecoration(context, DividerItemDecoration.VERTICAL);
myDivider.setDrawable(ContextCompat.getDrawable(context, R.drawable.cutm_dvdr));
yourRecyclerView.addItemDecoration(myDivider);
答案 2 :(得分:0)
您可以在回收站视图行项目布局中添加自定义视图,并设置可见性可见或已在适配器中设置您想要设置的行项目。
答案 3 :(得分:-1)
并将此DividerItemDecoration添加到RecycleView RecyclerView.addItemDecoration(recycleViewDivider);