decodeButtonBarThemeData static method
Decodes the given value
to an ButtonBarThemeData. This expects the
given value
to follow the structure below:
{
"alignment": <MainAxisAlignment>,
"buttonAlignedDropdown": <bool>,
"buttonHeight": <double>,
"buttonMinWidth": <double>,
"buttonPadding": <EdgeInsetsGeometry>,
"buttonTextTheme": <ButtonTextTheme>,
"layoutBehavior": <ButtonBarLayoutBehavior>,
"mainAxisSize": <MainAxisSize>,
"overflowDirection": <VerticalDirection>,
}
See also:
Implementation
static ButtonBarThemeData? decodeButtonBarThemeData(
dynamic value, {
bool validate = true,
}) {
ButtonBarThemeData? result;
if (value is ButtonBarThemeData) {
result = value;
} else if (value != null) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/button_bar_theme_data',
value: value,
validate: validate,
));
result = ButtonBarThemeData(
alignment: decodeMainAxisAlignment(
value['alignment'],
validate: false,
),
buttonAlignedDropdown: value['buttonAlignedDropdown'] == null
? null
: JsonClass.parseBool(value['buttonAlignedDropdown']),
buttonHeight: JsonClass.parseDouble(value['buttonHeight']),
buttonMinWidth: JsonClass.parseDouble(value['buttonMinWidth']),
buttonPadding: decodeEdgeInsetsGeometry(
value['buttonPadding'],
validate: false,
),
buttonTextTheme: decodeButtonTextTheme(
value['buttonTextTheme'],
validate: false,
),
layoutBehavior: decodeButtonBarLayoutBehavior(
value['layoutBehavior'],
validate: false,
),
mainAxisSize: decodeMainAxisSize(
value['mainAxisSize'],
validate: false,
),
overflowDirection: decodeVerticalDirection(
value['overflowDirection'],
validate: false,
),
);
}
return result;
}