Java 如何在RecyclerView中设置负边距装饰?或者为什么这是不可能的?
我有一个回收站。出于图形设计的原因,这个回收商拥有一个填充物。对于recyclerview的某些项目,我不需要使用此填充 因此,我的意图是为itemDecorator定义一个负边距,如下所示:Java 如何在RecyclerView中设置负边距装饰?或者为什么这是不可能的?,java,android,android-recyclerview,decorator,Java,Android,Android Recyclerview,Decorator,我有一个回收站。出于图形设计的原因,这个回收商拥有一个填充物。对于recyclerview的某些项目,我不需要使用此填充 因此,我的意图是为itemDecorator定义一个负边距,如下所示: class MarginDecoration extends RecyclerView.ItemDecoration { private int marge_small_border; public MarginDecoration(Context context) {
class MarginDecoration extends RecyclerView.ItemDecoration {
private int marge_small_border;
public MarginDecoration(Context context) {
marge_small_border = context.getResources().getDimensionPixelSize(R.dimen.marge_small_border);
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
outRect.set(-marge_small_border, 0, -marge_small_border, 0);
}
}
这不管用
编辑:
3。我的需要:(正确的图片)
这是我想做的
1。左图
橙色是保存RecyclerView的框架布局,因此带有水平填充
我的RecyclerView有一个标题、一张图片,然后是按行渲染的项目
我的要求是:
-要使标题充满屏幕(水平尺寸上没有填充)=>在图像/标题级别看不到橙色
-对于非标题项之间的每个空格具有相同的维度
2。我今天的解决方案是使用decorators
我为Xdp的每一项都安排了一名装饰师
我在Xdp的容器框架上放了一个填充物
=>我对每个非标题项都有2Xdp
现在,我应该删除header的填充,所以添加一个-Xdp的decorator
问题:
你怎么知道的
我们也欢迎任何其他解决方案
编辑:
根据项目位置制作项目装饰器实际上是不可行的,因为在列表中,然后可以显示标签(充满)。
添加块中的项目数量(标签之间)将使标签前的项目空间无效。我也有类似问题。我不知道你是否还需要帮助,但我做了以下工作:
android:clipPadding
和android:clipChildren
标志设置为false你为什么不去掉填充?我放了一些图表和背景信息。然后加上填充或空白。我不明白你的意思,对不起!正如我所说的,从你不想要的地方去掉填充物,放在你需要的地方。这太简单了。