滚动条需要外部提供至少如下信息才能起作用:
1. min / max
2. 步长
List/Datagrid需要滚动条,那么把什么值传给滚动条呢?
<方案1>: 以“行”为单位进行内容更新
min = 0
max = 行数-1
步长 = 1
<方案2>: 以“像素”为单位进行内容更新
min = 0
max = 所有行高的累计(行高*行数)
步长 = 行高
===========================================
评价:
优点 缺点
方案1 “行高”不固定也能很好的对应 只能显示完整一行的内容,无法显示半行,不能对显示“行”的位置进行像素级别的控制
方案2 能显示不完整的“行”内容,能够细致的控制滚动显示效果。 “行高”不固定时,实现此方案会产生大量的CPU计算,画面刷新可能顿卡、
方案1在功能上和方案2一样,没有功能缺失,且用户操作体验没有明显劣势,其适用性好,选择方案1是合理的。