[英]How to add margin start to DividerItemDecoration Android
I used the below code to add dividers to my list.我使用下面的代码将分隔线添加到我的列表中。 But my question is how can I add margin_start to those dividers so the that it will look something like the attached image.但我的问题是如何将 margin_start 添加到这些分隔线,以便它看起来像附加的图像。 Thank in advance.预先感谢。
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(recyclerView.getContext(),
layoutManager.getOrientation());
recyclerView.addItemDecoration(dividerItemDecoration);
I found the best solution我找到了最好的解决方案
<inset xmlns:android="http://schemas.android.com/apk/res/android"
android:insetLeft="40dp"
android:insetRight="40dp" >
<shape>
<size android:height="1dp"/>
<solid android:color="@color/recyclerview_divider" />
</shape>
</inset>
From: https://stackoverflow.com/a/40434249/5093308来自: https://stackoverflow.com/a/40434249/5093308
You need to override method getItemOffsets(Rect, View, RecyclerView, RecyclerView.State)
. 您需要覆盖方法getItemOffsets(Rect, View, RecyclerView, RecyclerView.State)
。
See example: 见例子:
DividerItemDecoration dividerItemDecoration = new
DividerItemDecoration(recyclerView.getContext(),layoutManager().getOrientation()){
private int startMargin = Utils.fromDpToPx(10f);
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
if (parent.getChildAdapterPosition(view) == 0){
outRect.set(0, startMargin, 0, 0);
}
}
};
recyclerView.addItemDecoration(dividerItemDecoration);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.