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
ff5e27f0
Unverified
Commit
ff5e27f0
authored
Apr 11, 2022
by
Kate Lovett
Committed by
GitHub
Apr 11, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove deprecated FlatButton (#98545)
parent
9b6e4f01
Changes
13
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
71 additions
and
1463 deletions
+71
-1463
main
dev/integration_tests/ios_host_app/flutterapp/lib/main
+1
-1
marquee
dev/integration_tests/ios_host_app/flutterapp/lib/marquee
+1
-1
material.dart
packages/flutter/lib/material.dart
+0
-1
button.dart
packages/flutter/lib/src/material/button.dart
+10
-12
button_theme.dart
packages/flutter/lib/src/material/button_theme.dart
+45
-123
flat_button.dart
packages/flutter/lib/src/material/flat_button.dart
+0
-235
material_button.dart
packages/flutter/lib/src/material/material_button.dart
+11
-19
theme_data.dart
packages/flutter/lib/src/material/theme_data.dart
+2
-3
button_theme_test.dart
packages/flutter/test/material/button_theme_test.dart
+0
-125
flat_button_test.dart
packages/flutter/test/material/flat_button_test.dart
+0
-876
stepper_test.dart
packages/flutter/test/material/stepper_test.dart
+0
-8
theme_defaults_test.dart
packages/flutter/test/material/theme_defaults_test.dart
+0
-58
README.md
packages/flutter_localizations/lib/src/l10n/README.md
+1
-1
No files found.
dev/integration_tests/ios_host_app/flutterapp/lib/main
View file @
ff5e27f0
...
...
@@ -166,7 +166,7 @@ class _MyHomePageState extends State<MyHomePage> {
style: const TextStyle(fontSize: 17.0),
),
),
const
Fla
tButton(
const
Tex
tButton(
child: Text('POP'),
onPressed: SystemNavigator.pop,
),
...
...
dev/integration_tests/ios_host_app/flutterapp/lib/marquee
View file @
ff5e27f0
...
...
@@ -65,7 +65,7 @@ class MarqueeState extends State<Marquee> with SingleTickerProviderStateMixin {
child: _MarqueeText(animation: animation),
alignment: Alignment.centerLeft,
),
const
Fla
tButton(child: Text('POP'), onPressed: SystemNavigator.pop),
const
Tex
tButton(child: Text('POP'), onPressed: SystemNavigator.pop),
],
),
),
...
...
packages/flutter/lib/material.dart
View file @
ff5e27f0
...
...
@@ -74,7 +74,6 @@ export 'src/material/expansion_panel.dart';
export
'src/material/expansion_tile.dart'
;
export
'src/material/expansion_tile_theme.dart'
;
export
'src/material/feedback.dart'
;
export
'src/material/flat_button.dart'
;
export
'src/material/flexible_space_bar.dart'
;
export
'src/material/floating_action_button.dart'
;
export
'src/material/floating_action_button_location.dart'
;
...
...
packages/flutter/lib/src/material/button.dart
View file @
ff5e27f0
...
...
@@ -20,22 +20,20 @@ import 'theme_data.dart';
/// Creates a button based on [Semantics], [Material], and [InkWell]
/// widgets.
///
/// ### This class is obsolete.
///
/// Custom button classes can be created by configuring the
/// [ButtonStyle] of a [TextButton], [ElevatedButton] or an
/// [OutlinedButton].
///
/// FlatButton has been replaced by TextButton and ButtonTheme has been
/// replaced by TextButtonTheme. 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).
///
/// This class does not use the current [Theme] or [ButtonTheme] to
/// compute default values for unspecified parameters. It's intended to
/// be used for custom Material buttons that optionally incorporate defaults
/// from the themes or from app-specific sources.
///
/// This class is planned to be deprecated in a future release, see
/// [ButtonStyleButton], the base class of [TextButton], [ElevatedButton], and
/// [OutlinedButton].
///
/// See also:
///
/// * [TextButton], a simple flat button without a shadow.
/// * [ElevatedButton], a filled button whose material elevates when pressed.
/// * [OutlinedButton], a [TextButton] with a border outline.
@Category
(<
String
>[
'Material'
,
'Button'
])
class
RawMaterialButton
extends
StatefulWidget
{
/// Create a button based on [Semantics], [Material], and [InkWell] widgets.
...
...
packages/flutter/lib/src/material/button_theme.dart
View file @
ff5e27f0
This diff is collapsed.
Click to expand it.
packages/flutter/lib/src/material/flat_button.dart
deleted
100644 → 0
View file @
9b6e4f01
// Copyright 2014 The Flutter 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/widgets.dart'
;
import
'button.dart'
;
import
'button_theme.dart'
;
import
'material_button.dart'
;
import
'theme.dart'
;
import
'theme_data.dart'
;
/// A Material Design "flat button".
///
/// ### This class is deprecated, please use [TextButton] instead.
///
/// FlatButton have been replaced by [TextButton] and ButtonTheme has been
/// replaced by [TextButtonTheme]. 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).
@Deprecated
(
'Use TextButton instead. See the migration guide in flutter.dev/go/material-button-migration-guide). '
'This feature was deprecated after v1.26.0-18.0.pre.'
,
)
class
FlatButton
extends
MaterialButton
{
/// Create a simple text button.
///
/// The [autofocus] and [clipBehavior] arguments must not be null.
@Deprecated
(
'Use TextButton instead. See the migration guide in flutter.dev/go/material-button-migration-guide). '
'This feature was deprecated after v1.26.0-18.0.pre.'
,
)
const
FlatButton
({
Key
?
key
,
required
VoidCallback
?
onPressed
,
VoidCallback
?
onLongPress
,
ValueChanged
<
bool
>?
onHighlightChanged
,
MouseCursor
?
mouseCursor
,
ButtonTextTheme
?
textTheme
,
Color
?
textColor
,
Color
?
disabledTextColor
,
Color
?
color
,
Color
?
disabledColor
,
Color
?
focusColor
,
Color
?
hoverColor
,
Color
?
highlightColor
,
Color
?
splashColor
,
Brightness
?
colorBrightness
,
EdgeInsetsGeometry
?
padding
,
VisualDensity
?
visualDensity
,
ShapeBorder
?
shape
,
Clip
clipBehavior
=
Clip
.
none
,
FocusNode
?
focusNode
,
bool
autofocus
=
false
,
MaterialTapTargetSize
?
materialTapTargetSize
,
required
Widget
child
,
double
?
height
,
double
?
minWidth
,
})
:
assert
(
clipBehavior
!=
null
),
assert
(
autofocus
!=
null
),
super
(
key:
key
,
height:
height
,
minWidth:
minWidth
,
onPressed:
onPressed
,
onLongPress:
onLongPress
,
onHighlightChanged:
onHighlightChanged
,
mouseCursor:
mouseCursor
,
textTheme:
textTheme
,
textColor:
textColor
,
disabledTextColor:
disabledTextColor
,
color:
color
,
disabledColor:
disabledColor
,
focusColor:
focusColor
,
hoverColor:
hoverColor
,
highlightColor:
highlightColor
,
splashColor:
splashColor
,
colorBrightness:
colorBrightness
,
padding:
padding
,
visualDensity:
visualDensity
,
shape:
shape
,
clipBehavior:
clipBehavior
,
focusNode:
focusNode
,
autofocus:
autofocus
,
materialTapTargetSize:
materialTapTargetSize
,
child:
child
,
);
/// Create a text button from a pair of widgets that serve as the button's
/// [icon] and [label].
///
/// The icon and label are arranged in a row and padded by 12 logical pixels
/// at the start, and 16 at the end, with an 8 pixel gap in between.
///
/// The [icon], [label], and [clipBehavior] arguments must not be null.
@Deprecated
(
'Use TextButton instead. See the migration guide in flutter.dev/go/material-button-migration-guide). '
'This feature was deprecated after v1.26.0-18.0.pre.'
,
)
factory
FlatButton
.
icon
({
Key
?
key
,
required
VoidCallback
?
onPressed
,
VoidCallback
?
onLongPress
,
ValueChanged
<
bool
>?
onHighlightChanged
,
MouseCursor
?
mouseCursor
,
ButtonTextTheme
?
textTheme
,
Color
?
textColor
,
Color
?
disabledTextColor
,
Color
?
color
,
Color
?
disabledColor
,
Color
?
focusColor
,
Color
?
hoverColor
,
Color
?
highlightColor
,
Color
?
splashColor
,
Brightness
?
colorBrightness
,
EdgeInsetsGeometry
?
padding
,
ShapeBorder
?
shape
,
Clip
clipBehavior
,
FocusNode
?
focusNode
,
bool
autofocus
,
MaterialTapTargetSize
?
materialTapTargetSize
,
required
Widget
icon
,
required
Widget
label
,
double
?
minWidth
,
double
?
height
,
})
=
_FlatButtonWithIcon
;
@override
Widget
build
(
BuildContext
context
)
{
final
ThemeData
theme
=
Theme
.
of
(
context
);
final
ButtonThemeData
buttonTheme
=
ButtonTheme
.
of
(
context
);
return
RawMaterialButton
(
onPressed:
onPressed
,
onLongPress:
onLongPress
,
onHighlightChanged:
onHighlightChanged
,
mouseCursor:
mouseCursor
,
fillColor:
buttonTheme
.
getFillColor
(
this
),
textStyle:
theme
.
textTheme
.
button
!.
copyWith
(
color:
buttonTheme
.
getTextColor
(
this
)),
focusColor:
buttonTheme
.
getFocusColor
(
this
),
hoverColor:
buttonTheme
.
getHoverColor
(
this
),
highlightColor:
buttonTheme
.
getHighlightColor
(
this
),
splashColor:
buttonTheme
.
getSplashColor
(
this
),
elevation:
buttonTheme
.
getElevation
(
this
),
focusElevation:
buttonTheme
.
getFocusElevation
(
this
),
hoverElevation:
buttonTheme
.
getHoverElevation
(
this
),
highlightElevation:
buttonTheme
.
getHighlightElevation
(
this
),
disabledElevation:
buttonTheme
.
getDisabledElevation
(
this
),
padding:
buttonTheme
.
getPadding
(
this
),
visualDensity:
visualDensity
??
theme
.
visualDensity
,
constraints:
buttonTheme
.
getConstraints
(
this
).
copyWith
(
minWidth:
minWidth
,
minHeight:
height
,
),
shape:
buttonTheme
.
getShape
(
this
),
clipBehavior:
clipBehavior
,
focusNode:
focusNode
,
autofocus:
autofocus
,
materialTapTargetSize:
buttonTheme
.
getMaterialTapTargetSize
(
this
),
animationDuration:
buttonTheme
.
getAnimationDuration
(
this
),
child:
child
,
);
}
}
/// The type of FlatButtons created with [FlatButton.icon].
///
/// This class only exists to give FlatButtons created with [FlatButton.icon]
/// a distinct class for the sake of [ButtonTheme]. It can not be instantiated.
class
_FlatButtonWithIcon
extends
FlatButton
with
MaterialButtonWithIconMixin
{
_FlatButtonWithIcon
({
Key
?
key
,
required
VoidCallback
?
onPressed
,
VoidCallback
?
onLongPress
,
ValueChanged
<
bool
>?
onHighlightChanged
,
MouseCursor
?
mouseCursor
,
ButtonTextTheme
?
textTheme
,
Color
?
textColor
,
Color
?
disabledTextColor
,
Color
?
color
,
Color
?
disabledColor
,
Color
?
focusColor
,
Color
?
hoverColor
,
Color
?
highlightColor
,
Color
?
splashColor
,
Brightness
?
colorBrightness
,
EdgeInsetsGeometry
?
padding
,
ShapeBorder
?
shape
,
Clip
clipBehavior
=
Clip
.
none
,
FocusNode
?
focusNode
,
bool
autofocus
=
false
,
MaterialTapTargetSize
?
materialTapTargetSize
,
required
Widget
icon
,
required
Widget
label
,
double
?
minWidth
,
double
?
height
,
})
:
assert
(
icon
!=
null
),
assert
(
label
!=
null
),
assert
(
clipBehavior
!=
null
),
assert
(
autofocus
!=
null
),
super
(
key:
key
,
onPressed:
onPressed
,
onLongPress:
onLongPress
,
onHighlightChanged:
onHighlightChanged
,
mouseCursor:
mouseCursor
,
textTheme:
textTheme
,
textColor:
textColor
,
disabledTextColor:
disabledTextColor
,
color:
color
,
disabledColor:
disabledColor
,
focusColor:
focusColor
,
hoverColor:
hoverColor
,
highlightColor:
highlightColor
,
splashColor:
splashColor
,
colorBrightness:
colorBrightness
,
padding:
padding
,
shape:
shape
,
clipBehavior:
clipBehavior
,
focusNode:
focusNode
,
autofocus:
autofocus
,
materialTapTargetSize:
materialTapTargetSize
,
child:
Row
(
mainAxisSize:
MainAxisSize
.
min
,
children:
<
Widget
>[
icon
,
const
SizedBox
(
width:
8.0
),
label
,
],
),
minWidth:
minWidth
,
height:
height
,
);
}
packages/flutter/lib/src/material/material_button.dart
View file @
ff5e27f0
...
...
@@ -19,27 +19,18 @@ import 'theme_data.dart';
/// A utility class for building Material buttons that depend on the
/// ambient [ButtonTheme] and [Theme].
///
/// ### This class is obsolete.
/// This class is planned to be deprecated in a future release.
/// Please use one or more of these buttons and associated themes instead:
///
/// FlatButton has been replaced by TextButton and ButtonTheme has been replaced
/// by TextButtonTheme. The appearance of the
/// new widgets can be customized by specifying a [ButtonStyle]
/// or by creating a one-off style using a `styleFrom` method like
/// [TextButton.styleFrom]. The original button classes
/// have been deprecated, 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).
/// * [TextButton], [TextButtonTheme], [TextButtonThemeData],
/// * [ElevatedButton], [ElevatedButtonTheme], [ElevatedButtonThemeData],
/// * [OutlinedButton], [OutlinedButtonTheme], [OutlinedButtonThemeData]
///
/// The button's size will expand to fit the child widget, if necessary.
///
/// MaterialButtons whose [onPressed] and [onLongPress] callbacks are null will be disabled. To have
/// an enabled button, make sure to pass a non-null value for [onPressed] or [onLongPress].
///
/// Rather than using this class directly, consider using [FlatButton], which
/// configure this class with appropriate defaults that match the material
/// design specification.
///
/// To create a button directly, without inheriting theme defaults, use
/// [RawMaterialButton].
///
...
...
@@ -52,9 +43,8 @@ import 'theme_data.dart';
class
MaterialButton
extends
StatelessWidget
{
/// Creates a material button.
///
/// Rather than creating a material button directly, consider using
/// [FlatButton]. To create a custom Material button
/// consider using [RawMaterialButton].
/// To create a custom Material button consider using [TextButton],
/// [ElevatedButton], or [OutlinedButton].
///
/// The [autofocus] and [clipBehavior] arguments must not be null.
/// Additionally, [elevation], [hoverElevation], [focusElevation],
...
...
@@ -238,7 +228,7 @@ class MaterialButton extends StatelessWidget {
///
/// See also:
///
/// * [
Fla
tButton], a button with no elevation or fill color.
/// * [
Tex
tButton], a button with no elevation or fill color.
/// * [focusElevation], the elevation when the button is focused.
/// * [hoverElevation], the elevation when a pointer is hovering over the
/// button.
...
...
@@ -455,7 +445,9 @@ class MaterialButton extends StatelessWidget {
}
}
/// The type of [MaterialButton]s created with FlatButton.icon.
/// The distinguished type of [MaterialButton].
///
/// This class is deprecated and will be removed in a future release.
///
/// This mixin only exists to give the "label and icon" button widgets a distinct
/// type for the sake of [ButtonTheme].
...
...
packages/flutter/lib/src/material/theme_data.dart
View file @
ff5e27f0
...
...
@@ -114,7 +114,6 @@ const Color _kDarkThemeSplashColor = Color(0x40CCCCCC);
/// * [OutlinedButton]
/// * [TextButton]
/// * [ElevatedButton]
/// * [FlatButton]
/// * The time picker widget ([showTimePicker])
/// * [SnackBar]
/// * [Chip]
...
...
@@ -1376,7 +1375,8 @@ class ThemeData with Diagnosticable {
/// A theme for customizing the appearance and layout of [ButtonBar] widgets.
final
ButtonBarThemeData
buttonBarTheme
;
/// Defines the default configuration of button widgets, like [FlatButton].
/// Defines the default configuration of button widgets, like [DropdownButton]
/// and [ButtonBar].
final
ButtonThemeData
buttonTheme
;
/// The colors and styles used to render [Card].
...
...
@@ -2486,7 +2486,6 @@ class _FifoCache<K, V> {
/// * [Checkbox]
/// * [Chip]
/// * [ElevatedButton]
/// * [FlatButton]
/// * [IconButton]
/// * [InputDecorator] (which gives density support to [TextField], etc.)
/// * [ListTile]
...
...
packages/flutter/test/material/button_theme_test.dart
View file @
ff5e27f0
...
...
@@ -2,9 +2,7 @@
// 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/material.dart'
;
import
'package:flutter/rendering.dart'
;
import
'package:flutter_test/flutter_test.dart'
;
void
main
(
)
{
...
...
@@ -36,55 +34,6 @@ void main() {
expect
(
theme
.
alignedDropdown
,
true
);
});
testWidgets
(
'ButtonTheme defaults'
,
(
WidgetTester
tester
)
async
{
late
ButtonTextTheme
textTheme
;
late
ButtonBarLayoutBehavior
layoutBehavior
;
late
BoxConstraints
constraints
;
late
EdgeInsets
padding
;
late
ShapeBorder
shape
;
late
bool
alignedDropdown
;
late
ColorScheme
colorScheme
;
await
tester
.
pumpWidget
(
ButtonTheme
(
child:
Builder
(
builder:
(
BuildContext
context
)
{
final
ButtonThemeData
theme
=
ButtonTheme
.
of
(
context
);
textTheme
=
theme
.
textTheme
;
constraints
=
theme
.
constraints
;
padding
=
theme
.
padding
as
EdgeInsets
;
shape
=
theme
.
shape
;
layoutBehavior
=
theme
.
layoutBehavior
;
colorScheme
=
theme
.
colorScheme
!;
alignedDropdown
=
theme
.
alignedDropdown
;
return
Container
(
alignment:
Alignment
.
topLeft
,
child:
Directionality
(
textDirection:
TextDirection
.
ltr
,
child:
FlatButton
(
onPressed:
()
{
},
child:
const
Text
(
'b'
),
// intrinsic width < minimum width
),
),
);
},
),
),
);
expect
(
textTheme
,
ButtonTextTheme
.
normal
);
expect
(
layoutBehavior
,
ButtonBarLayoutBehavior
.
padded
);
expect
(
constraints
,
const
BoxConstraints
(
minWidth:
88.0
,
minHeight:
36.0
));
expect
(
padding
,
const
EdgeInsets
.
symmetric
(
horizontal:
16.0
));
expect
(
shape
,
const
RoundedRectangleBorder
(
borderRadius:
BorderRadius
.
all
(
Radius
.
circular
(
2.0
)),
));
expect
(
alignedDropdown
,
false
);
expect
(
colorScheme
,
ThemeData
.
light
().
colorScheme
);
expect
(
tester
.
widget
<
Material
>(
find
.
byType
(
Material
)).
shape
,
shape
);
expect
(
tester
.
getSize
(
find
.
byType
(
Material
)),
const
Size
(
88.0
,
36.0
));
});
test
(
'ButtonThemeData.copyWith'
,
()
{
ButtonThemeData
theme
=
const
ButtonThemeData
().
copyWith
();
expect
(
theme
.
textTheme
,
ButtonTextTheme
.
normal
);
...
...
@@ -221,78 +170,4 @@ void main() {
expect
(
fooText
,
findsNWidgets
(
2
));
expect
(
tester
.
getRect
(
fooText
.
at
(
0
)),
tester
.
getRect
(
fooText
.
at
(
1
)));
});
testWidgets
(
'button theme with stateful color changes color in states'
,
(
WidgetTester
tester
)
async
{
final
FocusNode
focusNode
=
FocusNode
();
const
Color
pressedColor
=
Color
(
0x00000001
);
const
Color
hoverColor
=
Color
(
0x00000002
);
const
Color
focusedColor
=
Color
(
0x00000003
);
const
Color
defaultColor
=
Color
(
0x00000004
);
Color
getTextColor
(
Set
<
MaterialState
>
states
)
{
if
(
states
.
contains
(
MaterialState
.
pressed
))
{
return
pressedColor
;
}
if
(
states
.
contains
(
MaterialState
.
hovered
))
{
return
hoverColor
;
}
if
(
states
.
contains
(
MaterialState
.
focused
))
{
return
focusedColor
;
}
return
defaultColor
;
}
const
ColorScheme
colorScheme
=
ColorScheme
.
light
();
await
tester
.
pumpWidget
(
MaterialApp
(
home:
Scaffold
(
body:
Center
(
child:
ButtonTheme
(
colorScheme:
colorScheme
.
copyWith
(
primary:
MaterialStateColor
.
resolveWith
(
getTextColor
),
),
textTheme:
ButtonTextTheme
.
primary
,
child:
FlatButton
(
onPressed:
()
{},
focusNode:
focusNode
,
child:
const
Text
(
'FlatButton'
),
),
),
),
),
),
);
Color
textColor
()
{
return
tester
.
renderObject
<
RenderParagraph
>(
find
.
text
(
'FlatButton'
)).
text
.
style
!.
color
!;
}
// Default, not disabled.
expect
(
textColor
(),
equals
(
defaultColor
));
// Focused.
focusNode
.
requestFocus
();
await
tester
.
pumpAndSettle
();
expect
(
textColor
(),
focusedColor
);
// Hovered.
final
Offset
center
=
tester
.
getCenter
(
find
.
byType
(
FlatButton
));
final
TestGesture
gesture
=
await
tester
.
createGesture
(
kind:
PointerDeviceKind
.
mouse
,
);
await
gesture
.
addPointer
(
location:
Offset
.
zero
);
addTearDown
(
gesture
.
removePointer
);
await
gesture
.
moveTo
(
center
);
await
tester
.
pumpAndSettle
();
expect
(
textColor
(),
hoverColor
);
// Highlighted (pressed).
await
gesture
.
down
(
center
);
await
tester
.
pump
();
// Start the splash and highlight animations.
await
tester
.
pump
(
const
Duration
(
milliseconds:
800
));
// Wait for splash and highlight to be well under way.
expect
(
textColor
(),
pressedColor
);
},
);
}
packages/flutter/test/material/flat_button_test.dart
deleted
100644 → 0
View file @
9b6e4f01
This diff is collapsed.
Click to expand it.
packages/flutter/test/material/stepper_test.dart
View file @
ff5e27f0
...
...
@@ -824,10 +824,6 @@ testWidgets('Stepper custom indexed controls test', (WidgetTester tester) async
);
}
// The checks that follow verify that the layout and appearance of
// the default enabled Stepper buttons have not changed even
// though the FlatButtons have been replaced by TextButtons.
const
OutlinedBorder
buttonShape
=
RoundedRectangleBorder
(
borderRadius:
BorderRadius
.
all
(
Radius
.
circular
(
2
)));
const
Rect
continueButtonRect
=
Rect
.
fromLTRB
(
24.0
,
212.0
,
168.0
,
260.0
);
const
Rect
cancelButtonRect
=
Rect
.
fromLTRB
(
176.0
,
212.0
,
292.0
,
260.0
);
...
...
@@ -882,10 +878,6 @@ testWidgets('Stepper custom indexed controls test', (WidgetTester tester) async
);
}
// The checks that follow verify that the appearance of the
// default disabled Stepper buttons have not changed even though
// the FlatButtons have been replaced by TextButtons.
await
tester
.
pumpWidget
(
buildFrame
(
ThemeData
.
light
()));
expect
(
buttonMaterial
(
'CONTINUE'
).
color
!.
value
,
0
);
...
...
packages/flutter/test/material/theme_defaults_test.dart
View file @
ff5e27f0
...
...
@@ -11,64 +11,6 @@ const BoxConstraints defaultButtonConstraints = BoxConstraints(minWidth: 88.0, m
const
Duration
defaultButtonDuration
=
Duration
(
milliseconds:
200
);
void
main
(
)
{
group
(
'FlatButton'
,
()
{
testWidgets
(
'theme: ThemeData.light(), enabled: true'
,
(
WidgetTester
tester
)
async
{
await
tester
.
pumpWidget
(
MaterialApp
(
theme:
ThemeData
.
light
(),
home:
Center
(
child:
FlatButton
(
onPressed:
()
{
},
// button.enabled == true
child:
const
Text
(
'button'
),
),
),
),
);
final
RawMaterialButton
raw
=
tester
.
widget
<
RawMaterialButton
>(
find
.
byType
(
RawMaterialButton
));
expect
(
raw
.
textStyle
!.
color
,
const
Color
(
0xdd000000
));
expect
(
raw
.
fillColor
,
null
);
expect
(
raw
.
highlightColor
,
const
Color
(
0x29000000
));
// Was Color(0x66bcbcbc)
expect
(
raw
.
splashColor
,
const
Color
(
0x1f000000
));
// Was Color(0x66c8c8c8)
expect
(
raw
.
elevation
,
0.0
);
expect
(
raw
.
highlightElevation
,
0.0
);
expect
(
raw
.
disabledElevation
,
0.0
);
expect
(
raw
.
constraints
,
defaultButtonConstraints
);
expect
(
raw
.
padding
,
defaultButtonPadding
);
expect
(
raw
.
shape
,
defaultButtonShape
);
expect
(
raw
.
animationDuration
,
defaultButtonDuration
);
expect
(
raw
.
materialTapTargetSize
,
MaterialTapTargetSize
.
padded
);
});
testWidgets
(
'theme: ThemeData.light(), enabled: false'
,
(
WidgetTester
tester
)
async
{
await
tester
.
pumpWidget
(
MaterialApp
(
theme:
ThemeData
.
light
(),
home:
const
Center
(
child:
FlatButton
(
onPressed:
null
,
// button.enabled == false
child:
Text
(
'button'
),
),
),
),
);
final
RawMaterialButton
raw
=
tester
.
widget
<
RawMaterialButton
>(
find
.
byType
(
RawMaterialButton
));
expect
(
raw
.
textStyle
!.
color
,
const
Color
(
0x61000000
));
expect
(
raw
.
fillColor
,
null
);
// highlightColor, disabled button can't be pressed
// splashColor, disabled button doesn't splash
expect
(
raw
.
elevation
,
0.0
);
expect
(
raw
.
highlightElevation
,
0.0
);
expect
(
raw
.
disabledElevation
,
0.0
);
expect
(
raw
.
constraints
,
defaultButtonConstraints
);
expect
(
raw
.
padding
,
defaultButtonPadding
);
expect
(
raw
.
shape
,
defaultButtonShape
);
expect
(
raw
.
animationDuration
,
const
Duration
(
milliseconds:
200
));
expect
(
raw
.
materialTapTargetSize
,
MaterialTapTargetSize
.
padded
);
});
});
group
(
'FloatingActionButton'
,
()
{
const
BoxConstraints
defaultFABConstraints
=
BoxConstraints
.
tightFor
(
width:
56.0
,
height:
56.0
);
const
ShapeBorder
defaultFABShape
=
CircleBorder
();
...
...
packages/flutter_localizations/lib/src/l10n/README.md
View file @
ff5e27f0
...
...
@@ -43,7 +43,7 @@ names. They correspond to methods from the `MaterialLocalizations` or
```
dart
Widget
build
(
BuildContext
context
)
{
return
Fla
tButton
(
return
Tex
tButton
(
child:
Text
(
MaterialLocalizations
.
of
(
context
).
cancelButtonLabel
,
),
...
...
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