Flex Mobile List: как избавиться от серого наложения на кран рендерера? - PullRequest
0 голосов
/ 16 марта 2012

Я попытался установить для всех возможных стилей что-то отличное от серого, просто чтобы попытаться избавиться от серого наложения, как показано в «Привет, элемент 1» на прилагаемом изображении списка.Ничего не получалось.Я также изучил класс ListSkin и не нашел ничего, что могло бы их нарисовать.Как избавиться от этих оверлеев?

<s:List id="list" width="100%" height="100%"
            dataProvider="{dp}"
            focusAlpha="0"
            contentBackgroundAlpha="0"
            contentBackgroundColor="0xFFFFFF"
            selectionColor="0xFFFFFF"
            downColor="0xFFFFFF"
            borderVisible="false"
            >
</s:List>

Flex Mobile List

1 Ответ

1 голос
/ 06 апреля 2012

Я просто помог клиенту с этим же. Вы, в основном, должны расширить класс LabelItemRemderer, чтобы не рисовать прямоугольник. Он не доступен для изменения в стилях или цветах.

Посмотрите на этот код (начиная со строки 853 в LabelItemRemderer):

// Selected and down states have a gradient overlay as well
// as different separators colors/alphas
if (selected || down)
{
    var colors:Array = [0x000000, 0x000000 ];
    var alphas:Array = [.2, .1];
    var ratios:Array = [0, 255];
    var matrix:Matrix = new Matrix();

    // gradient overlay
    matrix.createGradientBox(unscaledWidth, unscaledHeight, Math.PI / 2, 0, 0 );
    graphics.beginGradientFill(GradientType.LINEAR, colors, alphas, ratios, matrix);
    graphics.drawRect(0, 0, unscaledWidth, unscaledHeight);
    graphics.endFill();
}

Вам нужен какой-то способ заставить этот код не работать. Вы можете сделать это, создав собственный itemRenderer с нуля. Или вы можете расширить LabelItemRenderer, переопределить метод drawBackground () и скопировать весь родительский код drawBackground () в ваш расширенный дочерний элемент; минус блок выше.

Я бы хотел видеть цвет как стиль или что-то в этом роде. Мне бы хотелось увидеть магическое свойство (или стиль), которое мы могли бы использовать, чтобы наложение полностью исчезло. Не стесняйтесь регистрировать это как ошибку в Apache Flex Jira .

...