嗨,我正在按照本教程
http://www.journaldev.com/10024/android-recyclerview-and-cardview-example-tutorial
现在我面临一个奇怪的问题,回收者视图内的每个cardview项目之间的差距太大了 .
ISSUE
如何减少放置在回收站视图内的每个cardview项目之间的保证金 .
嗨,我正在按照本教程
http://www.journaldev.com/10024/android-recyclerview-and-cardview-example-tutorial
现在我面临一个奇怪的问题,回收者视图内的每个cardview项目之间的差距太大了 .
ISSUE
如何减少放置在回收站视图内的每个cardview项目之间的保证金 .
9 回答
我遇到了类似的问题,RelativeLayout是recyclerview中每行的根元素 .
要解决此问题,请找到包含每一行的xml文件,并确保根元素的高度为
wrap_content
NOTmatch_parent
.我上了一堂课来管理这个问题 . 此类为recyclerView中的项设置不同的边距:只有第一行具有上边距,只有第一列具有左边距 .
}
您可以通过这种方式在Recyclerview中进行设置
在 cards_layout.xml 中找到属性
card_view:cardUseCompatPadding="true"
并将其删除 . 启动应用程序,您会发现每个cardview项目之间没有边距 .添加您喜欢的边距属性 . 例如:
不使用XML在RecyclerView中的项目之间添加边距,而是使用由android框架提供的RecyclerView.ItemDecoration的更好方法 .
所以,我创建了一个库来解决这个问题 .
https://github.com/TheKhaeng/recycler-view-margin-decoration
enter image description here
在Recyclerview项目布局中使用CardView像这样:
在CardView项目中使用CompatPadding
尝试添加RecyclerView.ItemDecoration
要知道如何做到这一点:How to add dividers and spaces between items in RecyclerView?
将Recycler视图 match_parent 更改为 wrap_content :
还要更改项目布局xml
将父布局高度 match_parent 设为 wrap_content
如果您想在 XML 中执行此操作,请将
paddingTop
和paddingLeft
设置为RecyclerView
,将layoutMarginBottom
和layoutMarginRight
等量设置为您膨胀到RecyclerView
的项目(反之亦然) .