getItemVisibleSize method

  1. @override
_PercentageSize? getItemVisibleSize(
  1. int index
)

Implementation

@override
_PercentageSize? getItemVisibleSize(int index) {
  final box = renderObject.computeItemBox(index, true, true);
  if (box != null) {
    final c = renderObject.constraints;
    final v1 = c.scrollOffset +
        c.precedingScrollExtent -
        (c.viewportMainAxisExtent - c.remainingPaintExtent);
    final v2 = v1 + c.viewportMainAxisExtent;

    final r1 = (isHorizontal ? box.left : box.top).clamp(v1, v2);
    final r2 = (isHorizontal ? box.right : box.bottom).clamp(v1, v2);
    return _PercentageSize(
        math.max(0.0, r2 - r1), (isHorizontal ? box.width : box.height));
  }
  return null;
}