Fix padding on Sky home screen scrollable list

R=chinmaygarde@google.com, abarth

Review URL: https://codereview.chromium.org/1209413006.
This commit is contained in:
Collin Jackson 2015-06-29 18:02:40 -07:00
parent 8dd65afbdf
commit abb5961f5a
3 changed files with 14 additions and 5 deletions

View File

@ -106,9 +106,10 @@ List<Widget> 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) {
DemoList({ String key }) : super(key: key, itemHeight: kCardHeight, padding: kListPadding) {
itemCount = demos.length;
}

View File

@ -27,7 +27,7 @@ class Card extends Component {
Widget build() {
return new Container(
margin: const EdgeDims(8.0, 8.0, 0.0, 8.0),
margin: const EdgeDims.all(4.0),
child: new Material(
color: materialColor,
edge: MaterialEdge.card,

View File

@ -12,7 +12,9 @@ import 'scrollable.dart';
abstract class FixedHeightScrollable extends Scrollable {
FixedHeightScrollable({ String key, this.itemHeight, Color backgroundColor })
final EdgeDims padding;
FixedHeightScrollable({ String key, this.itemHeight, Color backgroundColor, this.padding })
: super(key: key, backgroundColor: backgroundColor) {
assert(itemHeight != null);
}
@ -32,7 +34,10 @@ abstract class FixedHeightScrollable extends Scrollable {
void set itemCount (int value) {
if (_itemCount != value) {
_itemCount = value;
scrollBehavior.contentsHeight = itemHeight * _itemCount;
double contentsHeight = itemHeight * _itemCount;
if (padding != null)
contentsHeight += padding.top + padding.bottom;
scrollBehavior.contentsHeight = contentsHeight;
}
}
@ -76,7 +81,10 @@ abstract class FixedHeightScrollable extends Scrollable {
child: new ClipRect(
child: new Transform(
transform: transform,
child: new Block(items)
child: new Container(
padding: padding,
child: new Block(items)
)
)
)
);