Казалось бы - тривиальная задача. Ничего подобного.
Одними стилями этого не сделать, что лишний раз доказывает несовершенство механизма скинирования Flex.
Решение - создание потомка и перекрытие методов:
protected function drawSelectionIndicator(...)
и protected function drawHighlightIndicator(...)
Код прилагается.
Посильную помощь в раскопках оказала статья: Flex Tutorial - Image ItemRenderer.
Не понимаю, почему в одних случаях модель цвета #RRGGBBAA реализована, а в других - только #RRGGBB? Ведь как было бы удобно просто задать стиль themeColor="#00000000" и не парить мозг?
4 комментария:
Хм. А selectable=false для списка не помогает? Или все хитрее?
Нормальный способ реализации.
Он и позволяет тебе использовать всевозможные компоненты в качестве айтем рендеров.
Вопрос не в том, что он позволяет. Вопрос в удобстве пользования. И звучит он так: почему цвет подсветки меняется стилем, а ее прозрачность (это же по сути тоже стиль) - только через создание собственного компонента-наследника?
Вопрос конечно риторический :)
2 Constantiner пишет...
> А selectable=false для списка не помогает?
Помогает :)
Только как насчет таких прелестей списка как selectedItem? Оно будет всегда null. И опять прийдется идти на хитрости ;)
Отправить комментарий