Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in
Toggle navigation
F
Front-End
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
abdullh.alsoleman
Front-End
Commits
9a43df51
Unverified
Commit
9a43df51
authored
Jan 08, 2021
by
Hans Muller
Committed by
GitHub
Jan 08, 2021
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Deprecated obsolete Material classes: FlatButton, RaisedButton, OutlineButton (#73352)
parent
0c80a312
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
36 additions
and
243 deletions
+36
-243
flat_button.dart
packages/flutter/lib/src/material/flat_button.dart
+10
-90
outline_button.dart
packages/flutter/lib/src/material/outline_button.dart
+7
-51
raised_button.dart
packages/flutter/lib/src/material/raised_button.dart
+10
-93
basic.dart
packages/flutter/lib/src/widgets/basic.dart
+2
-2
route_test.dart
packages/flutter/test/cupertino/route_test.dart
+2
-2
tabs_test.dart
packages/flutter/test/material/tabs_test.dart
+2
-2
heroes_test.dart
packages/flutter/test/widgets/heroes_test.dart
+2
-2
mouse_region_test.dart
packages/flutter/test/widgets/mouse_region_test.dart
+1
-1
No files found.
packages/flutter/lib/src/material/flat_button.dart
View file @
9a43df51
...
...
@@ -12,102 +12,22 @@ import 'material_button.dart';
import
'theme.dart'
;
import
'theme_data.dart'
;
/// A
material d
esign "flat button".
/// A
Material D
esign "flat button".
///
/// ### This class is
obsolete
, please use [TextButton] instead.
/// ### This class is
deprecated
, please use [TextButton] instead.
///
/// FlatButton, RaisedButton, and OutlineButton have been replaced by
///
TextButton, ElevatedButton, and OutlinedButton
respectively.
/// ButtonTheme has been replaced by
TextButtonTheme
,
///
ElevatedButtonTheme, and OutlinedButtonTheme
. The original classes
/// will
be deprecated soon
, please migrate code that uses them.
///
[TextButton], [ElevatedButton], and [OutlinedButton]
respectively.
/// ButtonTheme has been replaced by
[TextButtonTheme]
,
///
[ElevatedButtonTheme], and [OutlinedButtonTheme]
. The original classes
/// will
eventually be removed
, please migrate code that uses them.
/// There's a detailed migration guide for the new button and button
/// theme classes in
/// [flutter.dev/go/material-button-migration-guide](https://flutter.dev/go/material-button-migration-guide).
///
/// A flat button is a text label displayed on a (zero elevation) [Material]
/// widget that reacts to touches by filling with color.
///
/// Use flat buttons on toolbars, in dialogs, or inline with other content but
/// offset from that content with padding so that the button's presence is
/// obvious. Flat buttons intentionally do not have visible borders and must
/// therefore rely on their position relative to other content for context. In
/// dialogs and cards, they should be grouped together in one of the bottom
/// corners. Avoid using flat buttons where they would blend in with other
/// content, for example in the middle of lists.
///
/// Material design flat buttons have an all-caps label, some internal padding,
/// and some defined dimensions. To have a part of your application be
/// interactive, with ink splashes, without also committing to these stylistic
/// choices, consider using [InkWell] instead.
///
/// If the [onPressed] and [onLongPress] callbacks are null, then this button will be disabled,
/// will not react to touch, and will be colored as specified by
/// the [disabledColor] property instead of the [color] property. If you are
/// trying to change the button's [color] and it is not having any effect, check
/// that you are passing a non-null [onPressed] handler.
///
/// Flat buttons have a minimum size of 88.0 by 36.0 which can be overridden
/// with [ButtonTheme].
///
/// The [clipBehavior] argument must not be null.
///
/// {@tool snippet}
///
/// This example shows a simple [FlatButton].
///
/// ![A simple FlatButton](https://flutter.github.io/assets-for-api-docs/assets/material/flat_button.png)
///
/// ```dart
/// FlatButton(
/// onPressed: () {
/// /*...*/
/// },
/// child: Text(
/// "Flat Button",
/// ),
/// )
/// ```
/// {@end-tool}
///
/// {@tool snippet}
///
/// This example shows a [FlatButton] that is normally white-on-blue,
/// with splashes rendered in a different shade of blue.
/// It turns black-on-grey when disabled.
/// The button has 8px of padding on each side, and the text is 20px high.
///
/// ![A FlatButton with white text on a blue background](https://flutter.github.io/assets-for-api-docs/assets/material/flat_button_properties.png)
///
/// ```dart
/// FlatButton(
/// color: Colors.blue,
/// textColor: Colors.white,
/// disabledColor: Colors.grey,
/// disabledTextColor: Colors.black,
/// padding: EdgeInsets.all(8.0),
/// splashColor: Colors.blueAccent,
/// onPressed: () {
/// /*...*/
/// },
/// child: Text(
/// "Flat Button",
/// style: TextStyle(fontSize: 20.0),
/// ),
/// )
/// ```
/// {@end-tool}
///
/// See also:
///
/// * [RaisedButton], a filled button whose material elevates when pressed.
/// * [DropdownButton], which offers the user a choice of a number of options.
/// * [SimpleDialogOption], which is used in [SimpleDialog]s.
/// * [IconButton], to create buttons that just contain icons.
/// * [InkWell], which implements the ink splash part of a flat button.
/// * [RawMaterialButton], the widget this widget is based on.
/// * <https://material.io/design/components/buttons.html>
/// * Cookbook: [Build a form with validation](https://flutter.dev/docs/cookbook/forms/validation)
@Deprecated
(
'Use TextButton instead. See the migration guide in flutter.dev/go/material-button-migration-guide). '
'This feature was deprecated after v1.25.0-8.1.pre.'
)
class
FlatButton
extends
MaterialButton
{
/// Create a simple text button.
///
...
...
packages/flutter/lib/src/material/outline_button.dart
View file @
9a43df51
...
...
@@ -24,64 +24,20 @@ const Duration _kElevationDuration = Duration(milliseconds: 75);
/// Similar to a [FlatButton] with a thin grey rounded rectangle border.
///
/// ### This class is
obsolete
, please use [OutlinedButton] instead.
/// ### This class is
deprecated
, please use [OutlinedButton] instead.
///
/// FlatButton, RaisedButton, and OutlineButton have been replaced by
///
TextButton, ElevatedButton, and OutlinedButton
respectively.
///
[TextButton], [ElevatedButton], and [OutlinedButton]
respectively.
/// ButtonTheme has been replaced by TextButtonTheme,
/// ElevatedButtonTheme, and OutlinedButtonTheme. The original classes
/// will
be deprecated soon
, please migrate code that uses them.
/// will
eventually be removed
, please migrate code that uses them.
/// There's a detailed migration guide for the new button and button
/// theme classes in
/// [flutter.dev/go/material-button-migration-guide](https://flutter.dev/go/material-button-migration-guide).
///
/// The outline button's border shape is defined by [shape]
/// and its appearance is defined by [borderSide], [disabledBorderColor],
/// and [highlightedBorderColor]. By default the border is a one pixel
/// wide grey rounded rectangle that does not change when the button is
/// pressed or disabled. By default the button's background is transparent.
///
/// If the [onPressed] or [onLongPress] callbacks are null, then the button will be disabled and by
/// default will resemble a flat button in the [disabledColor].
///
/// The button's [highlightElevation], which defines the size of the
/// drop shadow when the button is pressed, is 0.0 (no shadow) by default.
/// If [highlightElevation] is given a value greater than 0.0 then the button
/// becomes a cross between [RaisedButton] and [FlatButton]: a bordered
/// button whose elevation increases and whose background becomes opaque
/// when the button is pressed.
///
/// If you want an ink-splash effect for taps, but don't want to use a button,
/// consider using [InkWell] directly.
///
/// Outline buttons have a minimum size of 88.0 by 36.0 which can be overridden
/// with [ButtonTheme].
///
/// {@tool dartpad --template=stateless_widget_scaffold_center}
///
/// Here is an example of a basic [OutlineButton].
///
/// ```dart
/// Widget build(BuildContext context) {
/// return OutlineButton(
/// onPressed: () {
/// print('Received click');
/// },
/// child: Text('Click Me'),
/// );
/// }
/// ```
/// {@end-tool}
///
/// See also:
///
/// * [RaisedButton], a filled material design button with a shadow.
/// * [FlatButton], a material design button without a shadow.
/// * [DropdownButton], a button that shows options to select from.
/// * [FloatingActionButton], the round button in material applications.
/// * [IconButton], to create buttons that just contain icons.
/// * [InkWell], which implements the ink splash part of a flat button.
/// * <https://material.io/design/components/buttons.html>
@Deprecated
(
'Use OutlinedButton instead. See the migration guide in flutter.dev/go/material-button-migration-guide). '
'This feature was deprecated after v1.25.0-8.1.pre.'
)
class
OutlineButton
extends
MaterialButton
{
/// Create an outline button.
///
...
...
packages/flutter/lib/src/material/raised_button.dart
View file @
9a43df51
...
...
@@ -12,105 +12,22 @@ import 'material_button.dart';
import
'theme.dart'
;
import
'theme_data.dart'
;
/// A
material d
esign "raised button".
/// A
Material D
esign "raised button".
///
/// ### This class is
obsolete
, please use [ElevatedButton] instead.
/// ### This class is
deprecated
, please use [ElevatedButton] instead.
///
/// FlatButton, RaisedButton, and OutlineButton have been replaced by
///
TextButton, ElevatedButton, and OutlinedButton
respectively.
/// ButtonTheme has been replaced by
TextButtonTheme
,
///
ElevatedButtonTheme, and OutlinedButtonTheme
. The original classes
/// will
be deprecated soon
, please migrate code that uses them.
///
[TextButton], [ElevatedButton], and [OutlinedButton]
respectively.
/// ButtonTheme has been replaced by
[TextButtonTheme]
,
///
[ElevatedButtonTheme], and [OutlinedButtonTheme]
. The original classes
/// will
eventually be removed
, please migrate code that uses them.
/// There's a detailed migration guide for the new button and button
/// theme classes in
/// [flutter.dev/go/material-button-migration-guide](https://flutter.dev/go/material-button-migration-guide).
///
/// A raised button is based on a [Material] widget whose [Material.elevation]
/// increases when the button is pressed.
///
/// Use raised buttons to add dimension to otherwise mostly flat layouts, e.g.
/// in long busy lists of content, or in wide spaces. Avoid using raised buttons
/// on already-raised content such as dialogs or cards.
///
/// If [onPressed] and [onLongPress] callbacks are null, then the button will be disabled and by
/// default will resemble a flat button in the [disabledColor]. If you are
/// trying to change the button's [color] and it is not having any effect, check
/// that you are passing a non-null [onPressed] or [onLongPress] callbacks.
///
/// If you want an ink-splash effect for taps, but don't want to use a button,
/// consider using [InkWell] directly.
///
/// Raised buttons have a minimum size of 88.0 by 36.0 which can be overridden
/// with [ButtonTheme].
///
/// {@tool dartpad --template=stateless_widget_scaffold}
///
/// This sample shows how to render a disabled RaisedButton, an enabled RaisedButton
/// and lastly a RaisedButton with gradient background.
///
/// ![Three raised buttons, one enabled, another disabled, and the last one
/// styled with a blue gradient background](https://flutter.github.io/assets-for-api-docs/assets/material/raised_button.png)
///
/// ```dart
/// Widget build(BuildContext context) {
/// return Center(
/// child: Column(
/// mainAxisSize: MainAxisSize.min,
/// children: <Widget>[
/// const RaisedButton(
/// onPressed: null,
/// child: Text(
/// 'Disabled Button',
/// style: TextStyle(fontSize: 20)
/// ),
/// ),
/// const SizedBox(height: 30),
/// RaisedButton(
/// onPressed: () {},
/// child: const Text(
/// 'Enabled Button',
/// style: TextStyle(fontSize: 20)
/// ),
/// ),
/// const SizedBox(height: 30),
/// RaisedButton(
/// onPressed: () {},
/// textColor: Colors.white,
/// padding: const EdgeInsets.all(0.0),
/// child: Container(
/// decoration: const BoxDecoration(
/// gradient: LinearGradient(
/// colors: <Color>[
/// Color(0xFF0D47A1),
/// Color(0xFF1976D2),
/// Color(0xFF42A5F5),
/// ],
/// ),
/// ),
/// padding: const EdgeInsets.all(10.0),
/// child: const Text(
/// 'Gradient Button',
/// style: TextStyle(fontSize: 20)
/// ),
/// ),
/// ),
/// ],
/// ),
/// );
/// }
/// ```
/// {@end-tool}
///
/// See also:
///
/// * [FlatButton], a material design button without a shadow.
/// * [DropdownButton], a button that shows options to select from.
/// * [FloatingActionButton], the round button in material applications.
/// * [IconButton], to create buttons that just contain icons.
/// * [InkWell], which implements the ink splash part of a flat button.
/// * [RawMaterialButton], the widget this widget is based on.
/// * <https://material.io/design/components/buttons.html>
/// * Cookbook: [Build a form with validation](https://flutter.dev/docs/cookbook/forms/validation)
@Deprecated
(
'Use ElevatedButton instead. See the migration guide in flutter.dev/go/material-button-migration-guide). '
'This feature was deprecated after v1.25.0-8.1.pre.'
)
class
RaisedButton
extends
MaterialButton
{
/// Create a filled button.
///
...
...
packages/flutter/lib/src/widgets/basic.dart
View file @
9a43df51
...
...
@@ -2787,7 +2787,7 @@ class SizedOverflowBox extends SingleChildRenderObjectWidget {
/// ),
/// ),
/// Text('Flutter logo is offstage: $_offstage'),
///
Rais
edButton(
///
Elevat
edButton(
/// child: Text('Toggle Offstage Value'),
/// onPressed: () {
/// setState(() {
...
...
@@ -2796,7 +2796,7 @@ class SizedOverflowBox extends SingleChildRenderObjectWidget {
/// },
/// ),
/// if (_offstage)
///
Rais
edButton(
///
Elevat
edButton(
/// child: Text('Get Flutter Logo size'),
/// onPressed: () {
/// ScaffoldMessenger.of(context).showSnackBar(
...
...
packages/flutter/test/cupertino/route_test.dart
View file @
9a43df51
...
...
@@ -1650,7 +1650,7 @@ void main() {
await
tester
.
pumpWidget
(
CupertinoApp
(
home:
Center
(
child:
Builder
(
builder:
(
BuildContext
context
)
{
return
Rais
edButton
(
return
Elevat
edButton
(
child:
const
Text
(
'Home'
),
onPressed:
()
{
navigator
=
Navigator
.
of
(
context
);
...
...
@@ -1663,7 +1663,7 @@ void main() {
));
final
TestGesture
gesture
=
await
tester
.
createGesture
();
await
gesture
.
down
(
tester
.
getCenter
(
find
.
byType
(
Rais
edButton
)));
await
gesture
.
down
(
tester
.
getCenter
(
find
.
byType
(
Elevat
edButton
)));
await
gesture
.
up
();
await
tester
.
pumpAndSettle
();
...
...
packages/flutter/test/material/tabs_test.dart
View file @
9a43df51
...
...
@@ -3119,12 +3119,12 @@ void main() {
return
Scaffold
(
appBar:
AppBar
(
actions:
<
Widget
>[
Fla
tButton
(
Tex
tButton
(
key:
const
Key
(
'Add tab'
),
child:
const
Text
(
'Add tab'
),
onPressed:
()
=>
_onTabAdd
(
setState
),
),
Fla
tButton
(
Tex
tButton
(
key:
const
Key
(
'Remove tab'
),
child:
const
Text
(
'Remove tab'
),
onPressed:
()
=>
_onTabRemove
(
setState
),
...
...
packages/flutter/test/widgets/heroes_test.dart
View file @
9a43df51
...
...
@@ -2651,7 +2651,7 @@ Future<void> main() async {
),
Builder
(
builder:
(
BuildContext
context
)
{
return
Fla
tButton
(
return
Tex
tButton
(
child:
const
Text
(
'push'
),
onPressed:
()
{
Navigator
.
push
(
context
,
PageRouteBuilder
<
void
>(
...
...
@@ -2723,7 +2723,7 @@ Future<void> main() async {
),
Builder
(
builder:
(
BuildContext
context
)
{
return
Fla
tButton
(
return
Tex
tButton
(
child:
const
Text
(
'push'
),
onPressed:
()
{
Navigator
.
push
(
context
,
PageRouteBuilder
<
void
>(
...
...
packages/flutter/test/widgets/mouse_region_test.dart
View file @
9a43df51
...
...
@@ -1738,7 +1738,7 @@ void main() {
child:
Draggable
<
int
>(
feedback:
Container
(
width:
20
,
height:
20
,
color:
Colors
.
blue
),
childWhenDragging:
Container
(
width:
20
,
height:
20
,
color:
Colors
.
yellow
),
child:
Rais
edButton
(
child:
const
Text
(
'Drag me'
),
onPressed:
(){}),
child:
Elevat
edButton
(
child:
const
Text
(
'Drag me'
),
onPressed:
(){}),
),
),
));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment