Files
sm-emby-share/lib/features/detail/widgets/multi_source_scroll.dart
T
2026-07-14 11:11:36 +08:00

20 lines
442 B
Dart

library;
double multiSourceScrollOffset({
required int activeIndex,
required double viewportWidth,
required double leadingPad,
required double maxScrollExtent,
double cardWidth = 220.0,
double cardGap = 12.0,
}) {
if (activeIndex <= 0) return 0.0;
final target =
leadingPad +
activeIndex * (cardWidth + cardGap) -
(viewportWidth - cardWidth) / 2;
return target.clamp(0.0, maxScrollExtent).toDouble();
}