Вы можете «угадать» градиенты по заданному одному цвету, и он должен подходить в большинстве случаев. Вот алгоритм: ColorUtil.as
Настройка компонентов является распространенной проблемой. Пользователю не нужно углубляться в реализацию, но мы все же хотим максимальной гибкости. Для этого я создал CSS-фреймворк: Jakute Styling Engine . Используя Jakute, вы можете настроить свой компонент, используя состояния.
Вместо объявления тонн свойств для каждого состояния:
Button top_left_over: red.png
Button top_left_down: blue.png
Button top_left_disabled_over: grey.png
С помощью Jakute вы можете указать правила с сохранением состояния:
Button:over top_left: red.png
Button:down top_left: blue.png
Button:disabled:over top_left: blue.png
В этом случае пользователю нужно знать только список состояний кнопок и одно свойство "top_left". Стили можно загрузить из внешней таблицы стилей или напрямую установить для компонента.
Наконец, вот пример, который показывает, как создать настраиваемый компонент с сохранением состояния: Пример состояний . Даже если вы не планируете включать Jakute, вы можете получить представление о том, как другие создают такие компоненты. : -)