在我的RecolyerView中,项目贴得很近,我想在项目之间增加空间,而不在项目本身添加边距。我在想我怎么才能做到这一点?
我希望它看起来像:
我是否可以编辑XML本身来实现这一点?
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/list"
android:background="@color/gray6"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:animationCache="false"
android:cacheColorHint="@color/transparent"
android:descendantFocusability="afterDescendants"
android:divider="@color/transparent"
android:dividerHeight="0dp"
android:listSelector="@color/transparent"
android:scrollingCache="false" />
也可以通过制作一个自定义的recyclerview装饰器来完成,
class MarginItemDecoration(private val spaceHeight: Int) : RecyclerView.ItemDecoration() {
override fun getItemOffsets(outRect: Rect, view: View,
parent: RecyclerView, state: RecyclerView.State) { with(outRect) {
if (parent.getChildAdapterPosition(view) == 0) {
top = spaceHeight
}
left = spaceHeight
right = spaceHeight
bottom = spaceHeight
}
}
}
并将其添加到recyclerview中,
recyclerView.addItemDecoration(MarginItemDecoration(
resources.getDimension(R.dimen.default_padding).toInt()))
但是,这种方法有点冗长,我建议在recyclerview行的xml中放入边距,这也是一种很好的方法,不用担心!
我需要添加一些空间开始的第一项和结束的最后一项的回收,所以他们可以滚动到屏幕的边缘(因为他们不能与回收器视图的边距或填充) 问题是项目之间的间距应该不同,所以我不能只是将这个“空间”添加到项目布局中。现在,我正试图将ItemEdition添加到我的回收器中,但结果就是这样: 在我触摸它之前,行间距随机出现:随机行间距 然后,当我滚动到最后并返回时,所需的空间出现在屏幕上适合的最后一项之后,而不是在
注意,这个空间只在最末端可见,因为我不想改变布局。我可以使recycerview有一个50dp的边际底部,但我不想这样做。
如何在项目之间添加空格?有办法吗? 在这个图像上,白色是背景,黄色是JList的自定义,我希望每个项目都有一个像5像素的空间。 http://img819.imageshack.us/img819/5772/spacemd.png
问题内容: 我这里有两个div: 有没有办法在这两个div之间分隔空间? 问题答案: 您可以使用属性: HTML: CSS: 还有其他选择吗? 好吧 ,不是真的。 为什么? 属性不适用于元素。 属性不会在单元格的边缘之间创建空间。 属性破坏了能够与其父元素一样高的元素的预期行为。
问题内容: 这是我正在使用的代码。 我将单独的main方法与此代码一起调用上述方法: 有没有一种方法可以轻松在输出之间添加空格?这是当前的样子: 问题答案: 添加文字空间或制表符:
问题内容: 如何使用Twitter Bootstrap框架向元素添加边距顶部? 问题答案: 在Twitter引导程序中编辑或覆盖行是一个坏主意,因为这是页面支架的核心部分,并且您将需要没有上边距的行。 要解决此问题,请创建一个新类“ top-buffer”,添加所需的标准边距。 然后在需要上边距的行div上使用它。