Android 使用ItemDecoration的每个项目的边距
示例
您可以使用aRecyclerView.ItemDecoration在RecyclerView中的每个项目周围放置额外的边距。在某些情况下,这可以清理适配器实现和项目视图XML。
public class MyItemDecoration
extendsRecyclerView.ItemDecoration{
private final int extraMargin;
@Override
public void getItemOffsets(Rect outRect, View view,
RecyclerView parent,RecyclerView.Statestate) {
int position = parent.getChildAdapterPosition(view);
//在最后一项上增加额外的保证金很容易...
if (position + 1 == parent.getAdapter().getItemCount()) {
outRect.bottom= extraMargin; //单位是px
}
//...或者您可以给RecyclerView中的每个项目都不同
//根据其位置的利润率...
if (position % 2 == 0) {
outRect.right= extraMargin;
} else {
outRect.left= extraMargin;
}
//...或根据商品本身的某些属性
MyListItem item = parent.getAdapter().getItem(position);
if (item.isFirstItemInSection()) {
outRect.top= extraMargin;
}
}
public MyItemDecoration(Context context) {
extraMargin = context.getResources()
.getDimensionPixelOffset(R.dimen.extra_margin);
}
}要启用装饰,只需将其添加到您的RecyclerView中:
//在你的onCreate()中 RecyclerView rv = (RecyclerView) findItemById(R.id.myList); rv.addItemDecoration(new MyItemDecoration(context));
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下