mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +00:00

Extend app bar left to edge, right to 4dp Make leading button square and 56dp Keep title at 72dp on Android according to Material Renamed IconButton.size to .iconSize IconButton minimum size expands to 48dp (#8264) IconButton default constraints to 48. Can still stretch to infinity but can't be smaller than 48. Ink splash for IconButton 40% bigger than the touch target to match Material Tests
69 lines
2.2 KiB
Dart
69 lines
2.2 KiB
Dart
// Copyright 2016 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/material.dart';
|
|
|
|
const String _introText =
|
|
"Tooltips are short identifying messages that briefly appear in response to "
|
|
"a long press. Tooltip messages are also used by services that make Flutter "
|
|
"apps accessible, like screen readers.";
|
|
|
|
class TooltipDemo extends StatelessWidget {
|
|
|
|
static const String routeName = '/tooltips';
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
final ThemeData theme = Theme.of(context);
|
|
return new Scaffold(
|
|
appBar: new AppBar(
|
|
title: new Text('Tooltips')
|
|
),
|
|
body: new Builder(
|
|
builder: (BuildContext context) {
|
|
return new ListView(
|
|
children: <Widget>[
|
|
new Text(_introText, style: theme.textTheme.subhead),
|
|
new Row(
|
|
children: <Widget>[
|
|
new Text('Long press the ', style: theme.textTheme.subhead),
|
|
new Tooltip(
|
|
message: 'call icon',
|
|
child: new Icon(
|
|
Icons.call,
|
|
size: 18.0,
|
|
color: theme.iconTheme.color
|
|
)
|
|
),
|
|
new Text(' icon.', style: theme.textTheme.subhead)
|
|
]
|
|
),
|
|
new Center(
|
|
child: new IconButton(
|
|
iconSize: 48.0,
|
|
icon: new Icon(Icons.call),
|
|
color: theme.iconTheme.color,
|
|
tooltip: 'Place a phone call',
|
|
onPressed: () {
|
|
Scaffold.of(context).showSnackBar(new SnackBar(
|
|
content: new Text('That was an ordinary tap.')
|
|
));
|
|
}
|
|
)
|
|
)
|
|
]
|
|
.map((Widget widget) {
|
|
return new Padding(
|
|
padding: const EdgeInsets.only(top: 16.0, left: 16.0, right: 16.0),
|
|
child: widget
|
|
);
|
|
})
|
|
.toList()
|
|
);
|
|
}
|
|
)
|
|
);
|
|
}
|
|
}
|