diff --git a/sdk/example/demo_launcher/lib/main.dart b/sdk/example/demo_launcher/lib/main.dart index 75c0f46fe1f..0ad0bb18163 100644 --- a/sdk/example/demo_launcher/lib/main.dart +++ b/sdk/example/demo_launcher/lib/main.dart @@ -19,6 +19,7 @@ import 'package:sky/widgets/scaffold.dart'; import 'package:sky/widgets/task_description.dart'; import 'package:sky/widgets/theme.dart'; import 'package:sky/widgets/tool_bar.dart'; +import 'package:sky/widgets/scrollable_list.dart'; AssetBundle _initBundle() { if (rootBundle != null) @@ -132,11 +133,7 @@ List demos = [ const double kCardHeight = 120.0; const EdgeDims kListPadding = const EdgeDims.all(4.0); -class DemoList extends FixedHeightScrollable { - DemoList({ String key }) : super(key: key, itemHeight: kCardHeight, padding: kListPadding); - - int get itemCount => demos.length; - +class DemoList extends Component { Widget buildDemo(SkyDemo demo) { return new Listener( key: demo.name, @@ -166,12 +163,13 @@ class DemoList extends FixedHeightScrollable { ); } - List buildItems(int start, int count) { - return demos - .skip(start) - .take(count) - .map(buildDemo) - .toList(growable: false); + Widget build() { + return new ScrollableList( + items: demos, + itemHeight: kCardHeight, + itemBuilder: buildDemo, + padding: kListPadding + ); } } diff --git a/sdk/lib/rendering/block.dart b/sdk/lib/rendering/block.dart index 939e62ceaba..11f20ef30ab 100644 --- a/sdk/lib/rendering/block.dart +++ b/sdk/lib/rendering/block.dart @@ -15,6 +15,8 @@ class RenderBlock extends RenderBox with ContainerRenderObjectMixin children }) { @@ -94,7 +96,12 @@ class RenderBlock extends RenderBox with ContainerRenderObjectMixin size.height; assert(!size.isInfinite); } @@ -103,7 +110,14 @@ class RenderBlock extends RenderBox with ContainerRenderObjectMixin