Как добавить фоновый градиент в приложение? - PullRequest
2 голосов
/ 10 сентября 2011

Я новичок в Flex и портирую чистое приложение Flash / AS3 на Flex 4.5.

В мое оригинальное приложение Flash / AS3 У меня Sprite выступал в качестве фона.Я поместил его под все остальные объекты DisplayObject и залил его линейным градиентом случайного цвета.Это выглядело хорошо и, казалось, хорошо работало с Flash-компонентами (кнопками, флажками, TexFields), потому что они прозрачные.

Итак, в моей новой программе Flex (с BasicLayout) я тоже попытался создать Rect:

<s:Rect left="0" top="0" right="0" bottom="0">
    <s:stroke>
        <s:LinearGradientStroke id="_bgcolor" rotation="90" weight="1">
            <s:GradientEntry color="0x33FFFF" alpha="0.55" />
            <s:GradientEntry color="0x99FFFF" alpha="0.2475" />
        </s:LinearGradientStroke>
    </s:stroke>
</s:Rect>   

Но это не работает, Rect скрывается другими компонентами Flex:

rect

Существует ли быстрый способ добавленияфоновый градиент для приложения Flex (что-то простое, например, backgroundColor = "# CCCCCC" ) или мне нужно изучить "документы для создания скинов" (и поможет ли здесь создание приложений для скинов, поскольку проблема, похоже, заключается вчто компоненты Flex непрозрачны?)

Ответы [ 3 ]

2 голосов
/ 26 июня 2012

Вы использовали <stroke> вместо <fill>

<s:Rect left="0" top="0" right="0" bottom="0">
    <s:fill>
        <s:LinearGradient id="_bgcolor" rotation="90">
            <s:GradientEntry color="0x33FFFF" alpha="0.55" />
            <s:GradientEntry color="0x99FFFF" alpha="0.2475" />
        </s:LinearGradient>
    </s:fill>
</s:Rect>
2 голосов
/ 11 сентября 2011

Похоже, белый фон по умолчанию накладывается на ваш пользовательский Rect.

Попробуйте добавить contentBackgroundAlpha="0", чтобы скрыть фон компонента, не мешая скинам.

1 голос
/ 07 декабря 2012

Вам не хватает группы контента

<s:Group id="chrome" left="0" right="0" top="0" bottom="0" visible.closedGroup="false">

    <s:Rect left="0" top="0" right="0" bottom="0">
              <s:fill>
                    <s:LinearGradient id="_bgcolor" rotation="90">
                       <s:GradientEntry color="0x33FFFF" alpha="0.55" />
                       <s:GradientEntry color="0x99FFFF" alpha="0.2475" />
                   </s:LinearGradient>
               </s:fill>
            </s:Rect>
<s:Group id="contentGroup" left="0" right="0" top="0" bottom="0" minWidth="0" minHeight="0">
        <s:layout>
            <s:BasicLayout/>
        </s:layout>
    </s:Group>
</s:Group>
...