decodeBottomSheetThemeData static method
Decodes the given value
to an BottomSheetThemeData. This expects the
given value
to follow the structure below:
{
"backgroundColor": "<Color>",
"clipBehavior": "<Clip>",
"constraints": "<BoxConstraints>",
"dragHandleColor": "<Color>",
"dragHandleSize": "<Size>",
"elevation": "<double>",
"modalBackgroundColor": "<Color>",
"modalBarrierColor": "<Color>",
"modalElevation": "<double>",
"shadowColor": "<Color>",
"shape": "<ShapeBorder>",
"showDragHandle": "<bool>",
"surfaceTintColor": "<Color>"
}
See also:
Implementation
static BottomSheetThemeData? decodeBottomSheetThemeData(
dynamic value, {
bool validate = true,
}) {
BottomSheetThemeData? result;
if (value is BottomSheetThemeData) {
result = value;
} else if (value != null) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/bottom_sheet_theme_data',
value: value,
validate: validate,
));
result = BottomSheetThemeData(
backgroundColor: decodeColor(
value['backgroundColor'],
validate: false,
),
clipBehavior: decodeClip(
value['clipBehavior'],
validate: false,
),
constraints: decodeBoxConstraints(
value['constraints'],
validate: false,
),
dragHandleColor: decodeColor(value['dragHandleColor'], validate: false),
dragHandleSize: decodeSize(value['dragHandleSize'], validate: false),
elevation: JsonClass.maybeParseDouble(value['elevation']),
modalBackgroundColor: decodeColor(
value['modalBackgroundColor'],
validate: false,
),
modalBarrierColor: decodeColor(
value['modalBarrierColor'],
validate: false,
),
modalElevation: JsonClass.maybeParseDouble(value['modalElevation']),
shadowColor: decodeColor(value['shadowColor'], validate: false),
shape: decodeShapeBorder(
value['shape'],
validate: false,
),
showDragHandle: JsonClass.maybeParseBool(value['showDragHandle']),
surfaceTintColor: ThemeDecoder.decodeColor(
value['surfaceTintColor'],
validate: false,
),
);
}
return result;
}