liangjingkanji / BRV

[使用文档] Android 快速构建 RecyclerView, 比 BRVAH 更简单强大
http://liangjingkanji.github.io/BRV/
MIT License
2.49k stars 317 forks source link

fix: 修复水平/垂直分割线的 drawable 有宽度/高度时会导致分割线被拉伸的问题 #423

Closed RebornQ closed 1 month ago

RebornQ commented 5 months ago

复现方法:

binding.rv.linear(RecyclerView.HORIZONTAL).divider(R.drawable.divider_vertical_xxhdpi)

所用图片为(放到 drawable-xxhdpi):

divider_vertical_xxhdpi

PS:我只修复了垂直和水平分割线,网格分割线看着有点复杂,我没修,你可以看一看

liangjingkanji commented 5 months ago

有修复前后对比图吗?

RebornQ commented 5 months ago

有修复前后对比图吗?

@liangjingkanji 有,以垂直分割线为例,箭头是灰色的所以可能有点难看见(不好意思.jpg)。

修复前: image

修复后: image

liangjingkanji commented 1 month ago

只是我担心开发者就是想要拉伸铺平分割线怎么办

RebornQ commented 1 month ago

只是我担心开发者就是想要拉伸铺平分割线怎么办

啊这,拉伸平铺图标会变形的,正常情况很少会想要一个变形的图标吧😂

不过需求是多变的,也许确实会有这样一部分的开发者,但是一个通用的库在二选一的时候是否应该考虑更合理的情况🤔?(个人见解,没有引战的意思,纯技术讨论,因为这点我也想知道一下别的大佬是怎么想的😂)

回到这个 pr 问题本身,你这么一说我倒是比较担心这样改可能得兼容一下以前的用户了,divider(...) 方法加多一个"是否拉伸"的参数,然后默认值为 true?

liangjingkanji commented 1 month ago

因为也许drawable是纯色, 大部分分割线都是纯色的, 你这种图形少部分, 我也认为加个参数选择更合适

因为当用户量足够情况下不想改变现有逻辑, 需要兼容

RebornQ commented 1 month ago

因为也许drawable是纯色, 大部分分割线都是纯色的, 你这种图形少部分, 我也认为加个参数选择更合适

因为当用户量足够情况下不想改变现有逻辑, 需要兼容

ok,push 了,你看看

liangjingkanji commented 1 month ago

如果有需要你可以直接使用dev的commit作为版本依赖

近期我会发布一个包含在内的release

RebornQ commented 4 weeks ago

如果有需要你可以直接使用dev的commit作为版本依赖

近期我会发布一个包含在内的release

好👌,那个 GridDividerVerticalFragment 和 GridDividerHorizontalFragment 这两种示例的情况(即 DefaultDecoration.drawGrid 方法)我不知道咋处理,你看看你能不能修一下(捂脸.jpg)

liangjingkanji commented 4 weeks ago

这个太复杂看的头疼

RebornQ commented 3 weeks ago

这个太复杂看的头疼

😂我也是