2009-11-13 3 views
0

Мне удалось установить цвет текста выбранной кнопки LinkBar с помощью стиля disabledColor LinkBar. Соответственно, я ожидаю установить цвет фона выбранной кнопки с помощью стиля backgroundDisabledColor, однако это не сработало; и кроме «backgroundDisabledColor», я не видел другого стиля, который мог бы достичь этого. Пожалуйста помоги. Благодарю.Flex LinkBar: как установить цвет фона выбранной кнопки?

ответ

2

Возможно, проблема заключается в том, что вы устанавливаете стиль в самом LinkBar - попробуйте установить стиль LinkBar linkButtonStyleName для другого стиля, который содержит все стили, необходимые для вашей кнопки. Вы должны иметь возможность устанавливать стиль fillColors самих кнопок - это изменит внешний вид кнопки по умолчанию.

Если вам нужно настроить «выбранный» цвет или вам нужно что-то более продвинутое, чем просто скинирование фона кнопки, вам нужно написать собственный класс скинов. Это не слишком сложно - класс Button имеет целый набор «выбранных» стилей - selectedDownSkin, selectedUpSkin, selectedDisabledSkin и т. Д. ИМО - лучшая практика заключается в том, чтобы установить скин вашей кнопки на пользовательский класс скина, который устанавливает разные индивидуальные стили по состоянию.

David Flately иллюстрирует этот метод here. Проверьте его источник - он должен получить то, что вам нужно. Хорошая книга по этой теме, которая имеет такие вещи наряду с множеством других примеров, - это Juan Sanchez и Andy McIntosh «Создание визуального опыта с Flex 3.0». Я не могу опубликовать ссылку на него, потому что моя репутация пока не достаточно высока, но вы можете найти ее на амазонке или барне, а также на благородном или любом другом интернет-магазине.

+0

Большое спасибо следуя этой ссылке, это довольно легко написать программную оболочку и получить цвета фона, зафиксированные в моем случае, мне нужно только рассмотреть 3 шкуры:. disabledSkin, overSkin и кожи. Одна вещь, которую я заметил - кажется, что LinkButton's selecte d и отключенные стили одинаковы, потому что disabledSkin - это скин, используемый при выборе LinkBar. Таким образом, не будет визуального способа указать выбранную кнопку с помощью кнопки «отключено». Есть идеи? –

+0

Да - в вашем классе кожи вам, вероятно, придется отделить отключенные и выбранные скины с двумя разными реализациями, хотя по умолчанию они будут отображаться одинаково. –

+0

Это даже не кажется достойным дополнительной работы - лучше просто делать свой «LinkBar» вручную, если это то, что нужно. – Manius

0

Ха-ха, ищет то же самое, вы можете увидеть на исходном коде LinkBar:

// Hilite the new selection. 
    child = Button(getChildAt(selectedIndex)); 
    child.enabled = false; 

Какой умный !!! Вместо набора выбранного истинно, они отключить выбранную кнопку ... почему не ;-(Взял меня полчаса, чтобы понять команду Flex логического ...

eBuildy, Flex Специалисты

Смежные вопросы