commit
3c94991c96
@ -24,6 +24,7 @@ export 'src/material/icon_button.dart';
|
||||
export 'src/material/icon.dart';
|
||||
export 'src/material/ink_well.dart';
|
||||
export 'src/material/input.dart';
|
||||
export 'src/material/list_item.dart';
|
||||
export 'src/material/material.dart';
|
||||
export 'src/material/material_app.dart';
|
||||
export 'src/material/material_button.dart';
|
||||
|
@ -16,6 +16,11 @@ const double kStatusBarHeight = 50.0;
|
||||
const double kToolBarHeight = 56.0;
|
||||
const double kSnackBarHeight = 52.0;
|
||||
|
||||
// https://www.google.com/design/spec/layout/metrics-keylines.html#metrics-keylines-keylines-spacing
|
||||
const double kListTitleHeight = 72.0;
|
||||
const double kListSubtitleHeight = 48.0;
|
||||
const double kListItemHeight = 72.0;
|
||||
|
||||
const double kMaterialDrawerHeight = 140.0;
|
||||
const double kScrollbarSize = 10.0;
|
||||
const Duration kScrollbarFadeDuration = const Duration(milliseconds: 250);
|
||||
|
63
packages/flutter/lib/src/material/list_item.dart
Normal file
63
packages/flutter/lib/src/material/list_item.dart
Normal file
@ -0,0 +1,63 @@
|
||||
// Copyright 2015 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
import 'package:flutter/gestures.dart';
|
||||
import 'package:flutter/painting.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
|
||||
import 'ink_well.dart';
|
||||
import 'constants.dart';
|
||||
|
||||
class ListItem extends StatelessComponent {
|
||||
ListItem({
|
||||
Key key,
|
||||
this.left,
|
||||
this.center,
|
||||
this.right,
|
||||
this.onTap,
|
||||
this.onLongPress
|
||||
}) : super(key: key) {
|
||||
assert(center != null);
|
||||
}
|
||||
|
||||
final Widget left;
|
||||
final Widget center;
|
||||
final Widget right;
|
||||
final GestureTapCallback onTap;
|
||||
final GestureLongPressCallback onLongPress;
|
||||
|
||||
Widget build(BuildContext context) {
|
||||
List<Widget> children = new List<Widget>();
|
||||
|
||||
if (left != null) {
|
||||
children.add(new Container(
|
||||
margin: new EdgeDims.only(right: 16.0),
|
||||
width: 40.0,
|
||||
child: left
|
||||
));
|
||||
}
|
||||
|
||||
children.add(new Flexible(
|
||||
child: center
|
||||
));
|
||||
|
||||
if (right != null) {
|
||||
children.add(new Container(
|
||||
margin: new EdgeDims.only(left: 8.0),
|
||||
width: 40.0,
|
||||
child: right
|
||||
));
|
||||
}
|
||||
|
||||
return new Container(
|
||||
height: kListItemHeight,
|
||||
padding: const EdgeDims.symmetric(horizontal: 16.0),
|
||||
child: new InkWell(
|
||||
onTap: onTap,
|
||||
onLongPress: onLongPress,
|
||||
child: new Row(children)
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user