2009-06-08 19 views
0

我想知道如何在flex中应用渐变和转角半径。如何应用渐变是flex?而拐角半径

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

有人可以给它一个样本类或代码吗?

感谢

回答

0

首先,如你所提到的,这些属性可以通过CSS定制(header-colorsbackground-gradient-colorshighlight-alphas等)

其次,您可以使用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" /> 

这是很好的看一看Graphics class documentation进一步信息: