1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
use crate::{
foundation::colorspace::Color,
painting::{EdgeInsetsGeometry, NoneEdgeInsetsGeometry, NoneShapeBorder, ShapeBorder},
};
use super::{ButtonBarLayoutBehavior, ButtonTextTheme, ColorScheme, MaterialTapTargetSize};
/*
copyWith({ButtonTextTheme? textTheme, ButtonBarLayoutBehavior? layoutBehavior, double? minWidth, double? height, EdgeInsetsGeometry? padding, ShapeBorder? shape, bool? alignedDropdown, Color? buttonColor, Color? disabledColor, Color? focusColor, Color? hoverColor, Color? highlightColor, Color? splashColor, ColorScheme? colorScheme, MaterialTapTargetSize? materialTapTargetSize}) -> ButtonThemeData
Creates a copy of this button theme data object with the matching fields replaced with the non-null parameter values.
debugFillProperties(DiagnosticPropertiesBuilder properties) -> void
Add additional properties associated with the node.
override
getAnimationDuration(MaterialButton button) -> Duration
The duration of the button's highlight animation.
getBrightness(MaterialButton button) -> Brightness
The button's overall brightness.
getConstraints(MaterialButton button) -> BoxConstraints
The BoxConstraints that the define the button's size.
getDisabledElevation(MaterialButton button) -> double
The button's elevation when MaterialButton.onPressed is null (when MaterialButton.enabled is false).
getDisabledFillColor(MaterialButton button) -> Color
The button's background color when MaterialButton.onPressed is null (when MaterialButton.enabled is false).
getDisabledTextColor(MaterialButton button) -> Color
The foreground color of the button's text and icon when MaterialButton.onPressed is null (when MaterialButton.enabled is false).
getElevation(MaterialButton button) -> double
The button's elevation when it is enabled and has not been pressed.
getFillColor(MaterialButton button) -> Color?
The button's background fill color or null for buttons that don't have a background color.
getFocusColor(MaterialButton button) -> Color
The fill color of the button when it has input focus.
getFocusElevation(MaterialButton button) -> double
The button's elevation when it is enabled and has focus.
getHighlightColor(MaterialButton button) -> Color
The color of the overlay that appears when the button is pressed.
getHighlightElevation(MaterialButton button) -> double
The button's elevation when it is enabled and has been pressed.
getHoverColor(MaterialButton button) -> Color
The fill color of the button when it has input focus.
getHoverElevation(MaterialButton button) -> double
The button's elevation when it is enabled and has focus.
getMaterialTapTargetSize(MaterialButton button) -> MaterialTapTargetSize
The minimum size of the button's tap target.
getPadding(MaterialButton button) -> EdgeInsetsGeometry
Padding for the button's child (typically the button's label).
getShape(MaterialButton button) -> ShapeBorder
The shape of the button's Material.
getSplashColor(MaterialButton button) -> Color
The color of the ink "splash" overlay that appears when the (enabled) button is tapped.
getTextColor(MaterialButton button) -> Color
The foreground color of the button's text and icon.
getTextTheme(MaterialButton button) -> ButtonTextTheme
Defines the button's base colors, and the defaults for the button's minimum size, internal padding, and shape.
*/
pub struct ButtonThemeData {
pub text_theme: ButtonTextTheme,
pub min_width: f32,
pub height: f32,
pub padding: Box<dyn EdgeInsetsGeometry>,
pub shape: Box<dyn ShapeBorder>,
pub layout_behavior: ButtonBarLayoutBehavior,
pub aligned_dropdown: bool,
pub button_color: Color,
pub disabled_color: Color,
pub focus_color: Color,
pub hover_color: Color,
pub highlight_color: Color,
pub splash_color: Color,
pub color_scheme: ColorScheme,
pub material_tap_target_size: MaterialTapTargetSize,
}
impl Default for ButtonThemeData {
fn default() -> Self {
Self {
text_theme: Default::default(),
min_width: Default::default(),
height: Default::default(),
padding: box NoneEdgeInsetsGeometry,
shape: box NoneShapeBorder,
layout_behavior: Default::default(),
aligned_dropdown: Default::default(),
button_color: Default::default(),
disabled_color: Default::default(),
focus_color: Default::default(),
hover_color: Default::default(),
highlight_color: Default::default(),
splash_color: Default::default(),
color_scheme: Default::default(),
material_tap_target_size: Default::default(),
}
}
}