Reputation: 389
I have a sized box like so
child: SizedBox(
width: 50.0,
height: 50.0,
child: DecoratedBox(
decoration: BoxDecoration(
color: Colors.blue
),
)
),
i would like to change the color of the box decoration depending on the value of a piece of state called _status, _status can have four values 1,2,3,4, and depending on the value of status I would like to change the color of the box decoration like so 1 - blue 2 - red 3- amber 4 - green
The ternary statement that is normally used does not help as it is only good with a limited number of values of the state is there a way that I can implement this?
Thanks
Upvotes: 2
Views: 116
Reputation: 3007
You can define helper function to calculate Color value
child: SizedBox(
width: 50.0,
height: 50.0,
child: DecoratedBox(
decoration: BoxDecoration(
color: _getBoxColor(),
),
)
),
//somewhere below build method
Color _getBoxColor() {
switch (_status) {
case 1:
return Colors.blue;
case 2:
return Colors.red;
...
}
Upvotes: 3