Recyclerview使用flexibledivider處理分割線,如分割線的寬度,顏色,邊距等,可以設(shè)置水平或豎直方向。 依賴庫compile ‘com.yqritc:recyclerview-flexibledivider:1.4.0’ 使用方式:
讓自己的Adapter implements FlexibleDividerDecoration. PaintPRovider, HorizontalDividerItemDecoration. MarginProvider等,會需要復(fù)寫幾個方法來控制分割線的各種屬性。
@Override public int dividerLeftMargin(int position, RecyclerView parent) { if (position == 3){ return 0; } return (int) (90*mHeight1px); } @Override public int dividerRightMargin(int position, RecyclerView parent) { return 0; } @Override public Paint dividerPaint(int position, RecyclerView parent) { Paint paint = new Paint(); switch (position) { case 5: case 3: int blank = ContextCompat.getColor(mContext, R.color.ref_bg); paint.setColor(blank); paint.setStrokeWidth(16*mHeight1px); break; default: int color = ContextCompat.getColor(mContext, R.color.divider); paint.setColor(color); paint.setAntiAlias(true); paint.setStrokeWidth(1*mHeight1px); break; } return paint; }在adapter調(diào)用的地方
mAdapter = new MyAdapter(context,mList);LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context);linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);recyclerview.setLayoutManager(linearLayoutManager);recyclerview.setAdapter(mAdapter);recyclerview.addItemDecoration(new **HorizontalDividerItemDecoration.Builder(getContext()) .paintProvider(mAdapter) .marginProvider(mAdapter) .build());**新聞熱點
疑難解答