我想在我的RecyclerView
Layout
中添加分隔线。我已经搜索了一段时间,但我只能找到解决方案,利用RecyclerView.addItemDecoration
,它添加了所有项目之间的分隔线。我可以创建一个只有一行的布局,并将其添加到RecyclerView
,但这对我来说似乎不是一个优雅的解决方案。RecyclerView仅在一些项目之间添加分隔线
0
A
回答
2
您可以编写自定义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()
方法将偏移添加到项目以为分隔线创建空间。
0
您可以在回收站视图行项目布局中添加自定义视图,并在适配器中设置可见性或设置的可见性,以便您可以设置要设置的行项目。在drawble夹
0
DividerItemDecoration myDivider = new DividerItemDecoration(context, DividerItemDecoration.VERTICAL);
divider.setDrawable(ContextCompat.getDrawable(context, R.drawable.cutm_dvdr));
yourRecyclerView.addItemDecoration(myDivider);
附加cutm_dvdr.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
<size android:height="1dp" />
<solid android:color="#e20" />
</shape>
-1
DividerItemDecoration recycleViewDivider =新DividerItemDecoration(上下文,DividerItemDecoration.VERTICAL); recycleViewDivider.setDrawable(ContextCompat.getDrawable(context,R.drawable.recycleview_item_divider));
并将此DividerItemDecoration添加到您RecycleView RecyclerView.addItemDecoration(recycleViewDivider);
相关问题
- 1. 在GridLayout中添加分隔线RecyclerView
- 2. 使用DividerItemDecoration隐藏recyclerview中的某些项目分隔线
- 3. 如何在项目控件中的项目之间添加分隔符
- 4. 在元素之间添加分隔符
- 5. ListView - 仅在第一个项目上更改分隔线颜色
- 6. Qt:QListWidget项之间的分隔线?
- 7. RecyclerView分隔空间
- 8. 在GridView的行之间添加分隔线
- 9. 在导航视图之间添加分隔线
- 10. 如何在Android中为RecyclerView添加分隔线?
- 11. 在RecyclerView中为分隔线添加边距
- 12. 添加分隔线
- 13. 在jQuery UI自动完成项目之后添加分隔线除了最后一项之外
- 14. 在剃须刀中循环列表并在项目之间添加分隔符
- 15. 如何在菜单组之间添加分隔符/分隔符?
- 16. 在菜单项之间添加分隔线(被忽略的伪类)
- 17. 在EXTJS3的组合框中的选项之间添加分隔线
- 18. 如何在首选项(设置菜单)之间添加分隔线?
- 19. RecyclerView多次添加项目
- 20. RecyclerView添加项目动画
- 21. ActionBarCompat:在菜单项之间添加分隔符
- 22. 如何在ActionBar中的菜单项之间添加分隔符?
- 23. 列表框中项目之间的分隔线
- 24. RecyclerView中的分隔线Android
- 25. 如何在ListView中的禁用项目之间添加分隔符? - 棒棒糖
- 26. 如何在Spark List控件中的项目之间添加分隔符
- 27. (WPF)如何在ItemsControl中的项目之间添加分隔符 - Bug修复
- 28. 如何在RadioButtonList之间添加项目?
- 29. 添加项目到RecyclerView从其他删除RecyclerView项目
- 30. 在RecyclerView片段中添加项目
创建您自己的装饰器,然后您可以决定何时在onDraw方法中绘制分隔线 – Brian