Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(789)

Unified Diff: sky/sdk/example/widgets/card_collection.dart

Issue 1227823012: Move VariableHeightScrollable to sdk/lib/widgets (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
)
);

Powered by Google App Engine
This is Rietveld 408576698