Как добавить фоновый градиент в приложение?

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

В моем исходном приложении Flash/AS3 в качестве фона выступал спрайт. Я помещаю его под всеми остальными объектами 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:

прямой

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


person Alexander Farber    schedule 10.09.2011    source источник


Ответы (3)


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

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

person Maxim Kachurovskiy    schedule 11.09.2011

Вы использовали <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>
person Kata    schedule 26.06.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>
person d4c0d312    schedule 07.12.2012