It is easy to define a background color for the SetterBar buttons, so that all the buttons that are not pressed have the specified color, while the pressed one is gray. Here is the example:
SetterBar[2, Range, Background -> LightBlue]
in which the buttons that are not pressed are LightBlue.
How to make another way around? That is, how to make all buttons gray except the pressed one, which should take a specified color?