強到什麼地步?
- 可配置每邊顏色、粗細、邊距
- 可單獨配置任意一邊
項目地址:不僅可以在java代碼中自定義,還可以直接在佈局文件中直接配置。哇靠?這麼強?牛逼!
效果圖
使用方式:
1.gradle
compile 'com.xwc:recyclerview-decoration:1.0.0'
2-1.使用xml方式配置:
<com.xwc.itemdecoration.DRecycleView
android:id="@+id/recycle_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:x_decoration_color="#D8D8D8" 分割線顏色
app:x_decoration_end_padding="0dp" 末端邊距
app:x_decoration_start_padding="0dp" 開始邊距
app:x_decoration_width="1dp" 線寬
app:x_gridlayout_spanCount="3" /> 使用GridLayoutManager並且一排三個,默認LinearLayoutManager
2-2.使用Java代碼方式配置:
recycleView.addItemDecoration(new DRecycleViewDivider(this) {
@Nullable
@Override
public Divider getDivider(int itemPosition) {
Divider divider = null;
switch (itemPosition) {
case 0:
divider = new DividerBuilder()
.setLeftSideLine(true, 0xFFFF0000, dip2px(16), 0, 0)
.setRightSideLine(true, 0xFFFF0000, dip2px(16), 0, 0)
.setBottomSideLine(true, 0xFF000000, dip2px(16), 0, 0)
.setTopSideLine(true, 0xFF000000, dip2px(16), 0, 0)
.create();
break;
case 1:
divider = new DividerBuilder()
.setLeftSideLine(true, 0xFF0000FF, dip2px(5), dip2px(8), dip2px(8))
.setRightSideLine(true, 0xFF0000FF, dip2px(5), dip2px(8), dip2px(8))
.setBottomSideLine(true, 0xFF0000FF, dip2px(16), 0, 0)
.setTopSideLine(true, 0xFF0000FF, dip2px(16), 0, 0)
.create();
break;
case 2:
divider = new DividerBuilder()
.setLeftSideLine(true, 0xFFFF0000, dip2px(15), 0, 0)
.setRightSideLine(true, 0xFFFF0000, dip2px(15), 0, 0)
.setBottomSideLine(true, 0xFFFF0000, dip2px(10), 0, dip2px(30))
.setTopSideLine(true, 0xFFFF0000, dip2px(10), dip2px(8), dip2px(8))
.create();
break;
case 3:
divider = new DividerBuilder()
.setBottomSideLine(true, Color.DKGRAY, dip2px(5), dip2px(10), dip2px(5))
.create();
break;
default:
divider = new DividerBuilder()
.setBottomSideLine(true, Color.parseColor("#D8D8D8"), 1, 0, 0)
.create();
break;
}
return divider;
}
});