RecycleView之最強分割線

強到什麼地步?

  • 可配置每邊顏色、粗細、邊距
  • 可單獨配置任意一邊

項目地址:不僅可以在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;
            }
        });
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章