ItemDecoration自定义宽度和颜色

Posted 广外帅哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ItemDecoration自定义宽度和颜色相关的知识,希望对你有一定的参考价值。

/**
* 垂直布局分割线绘制
* @param c
* @param parent
*/
private void drawVertical(Canvas c,RecyclerView parent){
final int left=parent.getPaddingLeft();
final int right=parent.getWidth()-parent.getPaddingRight();
final int childCount=parent.getChildCount();
for(int i=0;i<childCount;i++){
final View child=parent.getChildAt(i);
final RecyclerView.LayoutParams params= (RecyclerView.LayoutParams) child.getLayoutParams();
final int top=child.getBottom()+params.bottomMargin+Math.round(ViewCompat.getTranslationZ(child));
final int bottom=top+drawable.getIntrinsicHeight();
drawable.setBounds(left,top+2,right,bottom);//宽度调节
drawable.setColorFilter(context.getResources().getColor(R.color.colorAccent), PorterDuff.Mode.XOR);//Mode选择不对无法正常显示选择的颜色
drawable.draw(c);


如代码所示,宽度其实就是控制top和bottom的距离,加减就可以了,很简单。
颜色就是drawable设置setColorFilter设置颜色和Mode,注意有的Mode颜色显示不正常

以上是关于ItemDecoration自定义宽度和颜色的主要内容,如果未能解决你的问题,请参考以下文章

RecyclerView ItemDecoration 自定义高度和颜色

如何设置自定义小部件的背景颜色和边框宽度?

Android 自定义ItemDecoration-实现分组吸顶效果

为 tableview (UITableView) 绘制一个自定义单元格,更改颜色和分隔符颜色和宽度

recycleView自定义ItemDecoration解决列表第一个item和最后一个item的间距难统一问题

recycleView自定义ItemDecoration解决列表第一个item和最后一个item的间距难统一问题