mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Most of the elements that want to be Material (i.e., have a level and cast a shadow) don't want to be InkWells (i.e., have an ink splash effect). This CL disentangles these two components, fixing bugs in the Drawer and in the PopupMenu. Separating these concepts also lets us use Material for the ActionBar and the FloatingActionButton. R=rafaelw@chromium.org Review URL: https://codereview.chromium.org/1037673002
35 lines
798 B
Dart
35 lines
798 B
Dart
// 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 '../fn.dart';
|
|
import 'material.dart';
|
|
|
|
class Button extends Component {
|
|
static final Style _style = new Style('''
|
|
display: inline-flex;
|
|
transform: translateX(0);
|
|
-webkit-user-select: none;
|
|
justify-content: center;
|
|
align-items: center;
|
|
height: 36px;
|
|
min-width: 64px;
|
|
padding: 0 8px;
|
|
margin: 4px;
|
|
border-radius: 2px;'''
|
|
);
|
|
|
|
Node content;
|
|
int level;
|
|
|
|
Button({ Object key, this.content, this.level }) : super(key: key);
|
|
|
|
Node build() {
|
|
return new StyleNode(
|
|
new Material(
|
|
content: new InkWell(children: [content]),
|
|
level: level),
|
|
_style);
|
|
}
|
|
}
|