| Index: sky/sdk/example/widgets/card_collection.dart
|
| diff --git a/sky/sdk/example/widgets/card_collection.dart b/sky/sdk/example/widgets/card_collection.dart
|
| index e20648c21fe46294808986c7ebb01127763a15fc..d84ee8663ae2af9be3e2406523667ea4f9cf56c3 100644
|
| --- a/sky/sdk/example/widgets/card_collection.dart
|
| +++ b/sky/sdk/example/widgets/card_collection.dart
|
| @@ -6,16 +6,14 @@ import 'dart:sky' as sky;
|
|
|
| import 'package:vector_math/vector_math.dart';
|
| import 'package:sky/animation/animation_performance.dart';
|
| -import 'package:sky/animation/scroll_behavior.dart';
|
| import 'package:sky/base/lerp.dart';
|
| import 'package:sky/painting/text_style.dart';
|
| import 'package:sky/theme/colors.dart';
|
| import 'package:sky/widgets/animated_container.dart';
|
| import 'package:sky/widgets/basic.dart';
|
| -import 'package:sky/widgets/block_viewport.dart';
|
| import 'package:sky/widgets/card.dart';
|
| import 'package:sky/widgets/scaffold.dart';
|
| -import 'package:sky/widgets/scrollable.dart';
|
| +import 'package:sky/widgets/variable_height_scrollable.dart';
|
| import 'package:sky/widgets/theme.dart';
|
| import 'package:sky/widgets/tool_bar.dart';
|
| import 'package:sky/widgets/widget.dart';
|
| @@ -26,44 +24,6 @@ const double _kMinFlingVelocity = 700.0;
|
| const double _kMinFlingVelocityDelta = 400.0;
|
| const double _kDismissCardThreshold = 0.6;
|
|
|
| -class VariableHeightScrollable extends Scrollable {
|
| - VariableHeightScrollable({
|
| - String key,
|
| - this.builder,
|
| - this.token
|
| - }) : super(key: key);
|
| -
|
| - IndexedBuilder builder;
|
| - Object token;
|
| -
|
| - void syncFields(VariableHeightScrollable source) {
|
| - builder = source.builder;
|
| - token = source.token;
|
| - super.syncFields(source);
|
| - }
|
| -
|
| - ScrollBehavior createScrollBehavior() => new OverscrollBehavior();
|
| - OverscrollBehavior get scrollBehavior => super.scrollBehavior;
|
| -
|
| - void _handleSizeChanged(Size newSize) {
|
| - setState(() {
|
| - scrollBehavior.containerHeight = newSize.height;
|
| - scrollBehavior.contentsHeight = 5000.0;
|
| - });
|
| - }
|
| -
|
| - Widget buildContent() {
|
| - return new SizeObserver(
|
| - callback: _handleSizeChanged,
|
| - child: new BlockViewport(
|
| - builder: builder,
|
| - startOffset: scrollOffset,
|
| - token: token
|
| - )
|
| - );
|
| - }
|
| -}
|
| -
|
| class CardCollectionApp extends App {
|
|
|
| final TextStyle cardLabelStyle =
|
| @@ -72,6 +32,7 @@ class CardCollectionApp extends App {
|
| final List<double> cardHeights = [
|
| 48.0, 64.0, 82.0, 46.0, 60.0, 55.0, 84.0, 96.0, 50.0,
|
| 48.0, 64.0, 82.0, 46.0, 60.0, 55.0, 84.0, 96.0, 50.0,
|
| + 48.0, 64.0, 82.0, 46.0, 60.0, 55.0, 84.0, 96.0, 50.0,
|
| 48.0, 64.0, 82.0, 46.0, 60.0, 55.0, 84.0, 96.0, 50.0
|
| ];
|
|
|
| @@ -214,7 +175,8 @@ class CardCollectionApp extends App {
|
| decoration: new BoxDecoration(backgroundColor: Theme.of(this).primarySwatch[50]),
|
| child: new VariableHeightScrollable(
|
| builder: _builder,
|
| - token: visibleCardIndices.length
|
| + token: visibleCardIndices.length,
|
| + itemCount: visibleCardIndices.length
|
| )
|
| );
|
|
|
|
|