我是靠谱客的博主 老迟到火龙果,这篇文章主要介绍Recyclerview使用flexibledivider处理分割线,现在分享给大家,希望可以做个参考。

Recyclerview使用flexibledivider处理分割线,如分割线的宽度,颜色,边距等,可以设置水平或竖直方向。
依赖库compile ‘com.yqritc:recyclerview-flexibledivider:1.4.0’
使用方式:

复杂的

让自己的Adapter implements FlexibleDividerDecoration. PaintProvider, HorizontalDividerItemDecoration. MarginProvider等,会需要复写几个方法来控制分割线的各种属性。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
@Override public int dividerLeftMargin(int position, RecyclerView parent) { if (position == 1){//第一行左边距为0 return 0; } return 90;//其他行左边距为90 } @Override public int dividerRightMargin(int position, RecyclerView parent) { return 0;//右边距都为0 } @Override public Paint dividerPaint(int position, RecyclerView parent) { Paint paint = new Paint(); switch (position) { case 2: int red = ContextCompat.getColor(mContext, R.color.red); paint.setColor(red); paint.setStrokeWidth(16); break; default: int color = ContextCompat.getColor(mContext, R.color.divider); paint.setColor(color); paint.setAntiAlias(true); paint.setStrokeWidth(1); break; } return paint; }

在adapter调用的地方

复制代码
1
2
3
4
5
6
7
8
9
10
mAdapter = new MyAdapter(context); 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());

简单的

复制代码
1
2
3
4
5
6
7
8
//设置颜色、宽度、边距 RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerview); recyclerView.addItemDecoration( new HorizontalDividerItemDecoration.Builder(this) .color(Color.RED) .sizeResId(R.dimen.divider) .marginResId(R.dimen.leftmargin, R.dimen.rightmargin) .build());
复制代码
1
2
3
4
5
6
7
8
//设置颜色、宽度、画笔的样式(空心实心 间隔线) Paint paint = new Paint(); paint.setStrokeWidth(5); paint.setColor(Color.BLUE); paint.setAntiAlias(true); paint.setPathEffect(new DashPathEffect(new float[]{25.0f, 25.0f}, 0)); recyclerView.addItemDecoration( new HorizontalDividerItemDecoration.Builder(this).paint(paint).build());
复制代码
1
2
3
4
5
6
//设置宽度、支持.9图片 RecyclerView recyclerView = (RecyclerView) findViewById(R.id.recyclerview); recyclerView.addItemDecoration(new HorizontalDividerItemDecoration.Builder(this) .drawable(R.drawable.sample) .size(15) .build());

最后

以上就是老迟到火龙果最近收集整理的关于Recyclerview使用flexibledivider处理分割线的全部内容,更多相关Recyclerview使用flexibledivider处理分割线内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部