Apache flex 如何应用渐变是灵活的?角半径

Apache flex 如何应用渐变是灵活的?角半径,apache-flex,Apache Flex,我想知道如何在flex中应用渐变和圆角半径 css是唯一的方法吗?我的意思是我想使用更多的flex属性来实现这一点 有人能给它一个示例类或代码吗 谢谢首先,正如您所提到的,这些属性可以通过CSs进行自定义(标题颜色,背景渐变颜色,高亮显示字母,等等) 其次,您可以使用Flash绘图API在自定义(或扩展)组件中创建自己的形状,但这项任务要复杂得多: package test { import mx.core.UIComponent; import flash.display.Graphics;

我想知道如何在flex中应用渐变和圆角半径

css是唯一的方法吗?我的意思是我想使用更多的flex属性来实现这一点

有人能给它一个示例类或代码吗


谢谢

首先,正如您所提到的,这些属性可以通过CSs进行自定义(
标题颜色
背景渐变颜色
高亮显示字母
,等等)

其次,您可以使用Flash绘图API在自定义(或扩展)组件中创建自己的形状,但这项任务要复杂得多:

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" />