the variable which the state inside StateFulBuilder is dependant on should be defined outside the builder method of StateFulBuilder. If it is defined inside, It will not have any affect.
A container should have either its color specified or its decoration specified. They cannot be mixed up. If you want to use both of them, the trick is to define the color inside BoxDecoration and pass it through the decoration field of your Container.