Skip to content

分割线

angcyo edited this page Nov 10, 2019 · 3 revisions

DslAdapterItem中内置了很多分割线属性, 默认情况下并不会生效.

开启功能需要使用DslItemDecoration()

开启功能

recyclerView.addItemDecoration(DslItemDecoration())

效果图如下:

属性说明

所有属性均在DslAdapterItem里面.

需要在Item四个方向插入多大的分割线

var itemTopInsert = 0
var itemLeftInsert = 0
var itemRightInsert = 0
var itemBottomInsert = 0

注意

只要插入的值>0, 就会触发绘制itemDecorationColoritemDecorationDrawable.

需要插入的分割线颜色

var itemDecorationColor = Color.TRANSPARENT

自定义的分割线Drawable

var itemDecorationDrawable: Drawable? = null

注意

itemDecorationDrawableitemDecorationColor并不是替换的关系, 而是并存的关系.

itemDecorationDrawable会在itemDecorationColor后面绘制.

绘制偏移量区域

开启偏移量区域绘制onlyDrawOffsetArea=true

var onlyDrawOffsetArea = false //默认是false

偏移量区域大小配置

var itemTopOffset = 0
var itemLeftOffset = 0
var itemRightOffset = 0
var itemBottomOffset = 0

注意

itemTopInsertitemBottomInsert只能绘制itemLeftOffsetitemRightOffset偏移区域. itemLeftInsertitemRightOffset同理.

截图中只绘制偏移量的分割线代码如下:

DslDemoItem().apply {
    itemText = "只绘制偏移量的分割线"
    itemTopInsert = 8 * dpi //顶部分割线的高度
    itemLeftOffset = 60 * dpi //左边偏移量
    itemDecorationColor = Color.BLUE
    onlyDrawOffsetArea = true  //开启偏移量区域绘制
}

自定义

如果想要替换掉默认的实现, 设置item.onDraw属性, 即可.