Показать альтернативные цвета строк, используя itemRenderers внутри списка - PullRequest
0 голосов
/ 19 июля 2011

У меня есть List с itemRenderer для отображения некоторых данных. В любом случае я могу установить разные стили или цвета фона для альтернативных строк?

Мой List выглядит следующим образом:

<mx:List id="myList" alternatingItemColors="[0xffffff, 0xe4e4e4]"
    borderStyle="none"
    width="100%" height="100%" y="25"
    dataProvider="{infoColl}"
    styleName="listRendererStyle"
    itemRenderer="InfoRenderer"/>

Ответы [ 2 ]

1 голос
/ 19 июля 2011

Посмотрите на код spark.skins.spark.DefaultItemRenderer как шаблон.Существует следующий код для получения цвета фона (см. updateDisplayList):

        var alternatingColors:Array = getStyle("alternatingItemColors");

        if (alternatingColors && alternatingColors.length > 0)
        {
            // translate these colors into uints
            styleManager.getColorNames(alternatingColors);

            backgroundColor = alternatingColors[itemIndex % alternatingColors.length];
        }

Но если вы используете spark.components.supportClasses.ItemRenderer в качестве базового класса для вашего средства визуализации MXML, просто установите для свойства autoDrawBackground значениеtrue и все фоны будут нарисованы автоматически.

Или прочитайте следующую документацию , как установить alternatingItemColors стиль списка для изменения значений чередующихся строк.

0 голосов
/ 20 июля 2011

Для Flex3 или MX вы можете использовать свойство стиля alternatingItemColors для достижения этой цели.

<mx:List id="myList" alternatingItemColors="[0xffffff, 0xe4e4e4]"/>

Для Flex4 или Spark вы можете посмотреть ответ @ Constantiner для уточнения / глубокой настройки.

Угадайте, что подойдет alternatingItemColors, и убедитесь, что вы не повернули свойство backgroundAlpha List в 0 или меньшее значение.

...