@@ -237,6 +237,15 @@ Future<void> _checkSequence(
237
237
Axis .vertical => reverseHeader,
238
238
};
239
239
final reverseGrowth = (growthDirection == GrowthDirection .reverse);
240
+ final headerPlacement = reverseHeader ^ reverse
241
+ ? HeaderPlacement .scrollingEnd : HeaderPlacement .scrollingStart;
242
+
243
+ Widget buildItem (int i) {
244
+ return StickyHeaderItem (
245
+ allowOverflow: allowOverflow,
246
+ header: _Header (i, height: 20 ),
247
+ child: _Item (i, height: 100 ));
248
+ }
240
249
241
250
final controller = ScrollController ();
242
251
const listKey = ValueKey ("list" );
@@ -252,13 +261,9 @@ Future<void> _checkSequence(
252
261
slivers: [
253
262
SliverStickyHeaderList (
254
263
key: listKey,
255
- headerPlacement: (reverseHeader ^ reverse)
256
- ? HeaderPlacement .scrollingEnd : HeaderPlacement .scrollingStart,
264
+ headerPlacement: headerPlacement,
257
265
delegate: SliverChildListDelegate (
258
- List .generate (100 , (i) => StickyHeaderItem (
259
- allowOverflow: allowOverflow,
260
- header: _Header (i, height: 20 ),
261
- child: _Item (i, height: 100 ))))),
266
+ List .generate (100 , (i) => buildItem (i)))),
262
267
const SliverPadding (
263
268
key: emptyKey,
264
269
padding: EdgeInsets .zero),
@@ -315,7 +320,8 @@ Future<void> _checkSequence(
315
320
}
316
321
317
322
Future <void > jumpAndCheck (double position) async {
318
- controller.jumpTo (position * (reverseGrowth ? - 1 : 1 ));
323
+ final scrollPosition = position * (reverseGrowth ? - 1 : 1 );
324
+ controller.jumpTo (scrollPosition);
319
325
await tester.pump ();
320
326
await checkState ();
321
327
}
0 commit comments