materialStatePropertyResolver<T> function
- {T? hoveredValue,
- T? focusedValue,
- T? pressedValue,
- T? draggedValue,
- T? selectedValue,
- T? scrolledUnderValue,
- T? disabledValue,
- T? errorValue,
- T? defaultValue}
Generates a MaterialStateProperty based on given values for different states.
Implementation
MaterialStateProperty<T?> materialStatePropertyResolver<T>({
// Value when MaterialState is hovered
T? hoveredValue,
// Value when MaterialState is focused
T? focusedValue,
// Value when MaterialState is pressed
T? pressedValue,
// Value when MaterialState is dragged
T? draggedValue,
// Value when MaterialState is selected
T? selectedValue,
// Value when MaterialState is scrolledUnder
T? scrolledUnderValue,
// Value when MaterialState is disabled
T? disabledValue,
// Value when MaterialState is error
T? errorValue,
// Default value when no state is present
T? defaultValue,
}) {
// The blocks check for each possible state and returns the value
// If none of the states is present, default value is returned
return MaterialStateProperty.resolveWith<T?>((states) {
if (hoveredValue != null && states.contains(MaterialState.hovered)) return hoveredValue;
if (focusedValue != null && states.contains(MaterialState.focused)) return focusedValue;
if (pressedValue != null && states.contains(MaterialState.pressed)) return pressedValue;
if (draggedValue != null && states.contains(MaterialState.dragged)) return draggedValue;
if (selectedValue != null && states.contains(MaterialState.selected)) return selectedValue;
if (scrolledUnderValue != null && states.contains(MaterialState.scrolledUnder)) return scrolledUnderValue;
if (disabledValue != null && states.contains(MaterialState.disabled)) return disabledValue;
if (errorValue != null && states.contains(MaterialState.error)) return errorValue;
return defaultValue;
});
}