Move ClipRRect logic from Card to Material (fixes rounded corners on top of date picker dialog)

This commit is contained in:
Collin Jackson 2015-08-26 11:06:22 -07:00
parent 1a15cb2d27
commit d547103f6a
2 changed files with 16 additions and 9 deletions

View File

@ -23,11 +23,7 @@ class Card extends Component {
color: color, color: color,
type: MaterialType.card, type: MaterialType.card,
level: 2, level: 2,
child: new ClipRRect( child: child
xRadius: edges[MaterialType.card],
yRadius: edges[MaterialType.card],
child: child
)
) )
); );
} }

View File

@ -48,6 +48,20 @@ class Material extends Component {
} }
Widget build() { Widget build() {
Widget contents = child;
if (child != null) {
contents = new DefaultTextStyle(
style: Theme.of(this).text.body1,
child: contents
);
if (edges[type] != null) {
contents = new ClipRRect(
xRadius: edges[type],
yRadius: edges[type],
child: contents
);
}
}
return new AnimatedContainer( return new AnimatedContainer(
behavior: implicitlyAnimate(const Duration(milliseconds: 200)), behavior: implicitlyAnimate(const Duration(milliseconds: 200)),
decoration: new BoxDecoration( decoration: new BoxDecoration(
@ -56,10 +70,7 @@ class Material extends Component {
boxShadow: level == 0 ? null : shadows[level], boxShadow: level == 0 ? null : shadows[level],
shape: type == MaterialType.circle ? Shape.circle : Shape.rectangle shape: type == MaterialType.circle ? Shape.circle : Shape.rectangle
), ),
child: child == null ? null : new DefaultTextStyle( child: contents
style: Theme.of(this).text.body1,
child: child
)
); );
} }
} }