Как применить градиент гибкой? И угловой радиус - PullRequest
0 голосов
/ 08 июня 2009

Я хотел бы знать, как применить градиент и угловой радиус в flex.

Является ли css единственным способом? Я имею в виду, я хочу использовать больше гибких свойств, чтобы это произошло

Может ли кто-нибудь дать пример класса или код для него?

Спасибо

1 Ответ

0 голосов
/ 08 июня 2009

Прежде всего, как вы упомянули, эти свойства можно настроить с помощью CS (header-colors, background-gradient-colors, highlight-alphas и т. Д.)

Во-вторых, вы можете использовать API рисования Flash для создания собственных фигур в пользовательских (или расширенных) компонентах, но это гораздо более сложная задача:

package test
{
import mx.core.UIComponent;
import flash.display.Graphics;
import flash.display.GradientType;

public class DrawingTest extends UIComponent
{
    public function DrawingTest()
    {
        super();
    }

    override protected function updateDisplayList (unscaledWidth:Number, unscaledHeight:Number):void
    {
        // you'll want to track the actual changes and redraw only in case if width, height or some other
        // significant property changes
        trace(unscaledWidth, unscaledHeight);
        var g:Graphics = graphics;
        // it's likely you want to make roundRadius and gradient parameters as styles of the component
        // or at least it's parameters.
        var roundRadius:Number = 30;
        g.clear();
        g.beginGradientFill(GradientType.LINEAR, [0x0, 0xFFFFFF], [0.5, 0.7], [0, 255]);
        g.drawRoundRect(0, 0, unscaledWidth, unscaledHeight, roundRadius, roundRadius);
        g.endFill();
    }

}
}

Использование (добавьте xmlns:test="test.*" к свойствам компонента верхнего уровня)

<test:DrawingTest width="250" height="400" />

Хорошо взглянуть на документацию по классу графики для получения дополнительной информации:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...