`
shlei
  • 浏览: 287790 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

flex背景渐变色

    博客分类:
  • FLEX
阅读更多
backgroundGradientColors="[#dddddd,#ffffff]"



flex除了application支持背景渐变色外,其它控制都不支持,近日需要这个功能,在网上搜到些资料整理如下:

类文件
GradientBorder.as

Flex代码
/** 
* 背景渐变色 
* whisht 
* */ 
package { 
     
    import flash.display.*; 
    import flash.geom.*; 
    import flash.utils.*; 
     
    import mx.core.EdgeMetrics; 
    import mx.skins.halo.HaloBorder; 
    import mx.utils.ColorUtil; 
    import mx.utils.GraphicsUtil; 
     
    public class GradientBorder extends HaloBorder  
    { 
         
        private var topCornerRadius:Number;        // top corner radius 
        private var bottomCornerRadius:Number;    // bottom corner radius 
        private var fillColors:Array;            // fill colors (two) 
        private var setup:Boolean; 
         
 
        private function setupStyles():void 
        { 
            fillColors = getStyle("fillColors") as Array; 
            if (!fillColors) fillColors = [0xFFFFFF, 0xFFFFFF]; 
             
            topCornerRadius = getStyle("cornerRadius") as Number; 
            if (!topCornerRadius) topCornerRadius = 0;     
             
            bottomCornerRadius = getStyle("bottomCornerRadius") as Number; 
            if (!bottomCornerRadius) bottomCornerRadius = topCornerRadius;     
         
        } 
         
         
        override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void 
        { 
            super.updateDisplayList(unscaledWidth, unscaledHeight);     
             
            setupStyles(); 
             
            var g:Graphics = graphics; 
            var b:EdgeMetrics = borderMetrics; 
            var w:Number = unscaledWidth - b.left - b.right; 
            var h:Number = unscaledHeight - b.top - b.bottom; 
            var m:Matrix = verticalGradientMatrix(0, 0, w, h); 
         
            g.beginGradientFill("linear", fillColors, [1, 1], [0, 255], m); 
             
            var tr:Number = Math.max(topCornerRadius-2, 0); 
            var br:Number = Math.max(bottomCornerRadius-2, 0); 
             
            GraphicsUtil.drawRoundRectComplex(g, b.left, b.top, w, h, tr, tr, br, br); 
            g.endFill(); 
                 
        } 
         
    } 



调用示例
Mxml代码
<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"  
    layout="vertical" backgroundImage="" backgroundColor="white"> 
     
    <mx:Style> 
         
        .gradient 
        { 
            border-style: solid; 
            border-thickness: 0; 
            border-skin: ClassReference("GradientBorder"); 
            fill-colors: #0099FF, #000099; 
            corner-radius: 10; 
            drop-shadow-enabled: true; 
        } 
         
    </mx:Style> 
     
    <mx:Script> 
        <![CDATA[ 
            private function changeStyle():void 
            { 
                box.setStyle("fillColors", [col1.value, col2.value]); 
                box.setStyle("cornerRadius", corner.value); 
            } 
        ]]> 
    </mx:Script> 
     
    <mx:VBox id="box" styleName="gradient" width="400" height="300" verticalAlign="middle" horizontalAlign="center"> 
        <mx:FormItem label="Color 1:"> 
            <mx:ColorPicker id="col1" change="changeStyle()" selectedColor="0x0099FF"/> 
        </mx:FormItem> 
        <mx:FormItem label="Color 2:"> 
            <mx:ColorPicker id="col2" change="changeStyle()" selectedColor="0x000099"/> 
        </mx:FormItem> 
        <mx:FormItem label="Corner radius:"> 
            <mx:HSlider id="corner" value="10" minimum="0" maximum="100" change="changeStyle()"/> 
        </mx:FormItem> 
    </mx:VBox> 
     
</mx:Application> 


转载自http://www.iteye.com/topic/419429
分享到:
评论

相关推荐

    Flex 颜色渐变条

    2. **图形渲染**:使用DisplayObject和Graphics类绘制颜色渐变条的背景和节点。通过Graphics对象的`beginFill()`和`lineTo()`方法绘制颜色条,`drawRect()`方法绘制节点。 3. **事件监听**:为颜色渐变条添加鼠标...

    微信小程序-透明渐变色封面的实现.zip

    在这个"微信小程序-透明渐变色封面的实现.zip"项目中,我们可以深入探讨几个关键的技术点:微信小程序的基础结构、渐变色的实现、透明度控制以及多图查看功能。 首先,微信小程序的基本结构包括JSON配置文件...

    Flex 组件样式

    - **backgroundGradientColors 背景渐变色** - **定义**:设置背景色的渐变效果,需要提供两个颜色值作为渐变的起点和终点。 - **用法**:例如:“#FF0000, #00FF00”表示从红色渐变到绿色。 - **...

    使用平面转换、渐变色仿部分喜马拉雅界面

    渐变色(Gradients)是为背景或边框添加平滑过渡颜色的方法。CSS支持线性渐变(linear-gradient)和径向渐变(radial-gradient)。例如,创建一个从左到右的线性渐变: ```css .gradient-box { background: linear...

    Flexcss完全手册.pdf

    * headerColors:标题头背景渐变色,需要设置2个颜色,渐进起始色和渐进结束色,中间以逗号分隔。 * footerColors:底部背景渐变色,需要设置2个颜色,渐进起始色和渐进结束色,中间以逗号分隔。 * highlightAlphas...

    Flex中的CSS样式

    - `backgroundGradientColors`:背景渐变色 - `backgroundGradientAlphas`:背景渐变透明度 - **`Panel`组件样式属性** - `cornerRadius`:边角半径 - `headerHeight`:标题头高度 - `dropShadowEnabled`:...

    CSS常用动画特效,CSS3新增背景CSS代码。颜色渐变,flex弹性布局

    这里我们将深入探讨“CSS常用动画特效”、“CSS3新增背景CSS代码”、“颜色渐变”以及“flex弹性布局”这四个关键知识点。 首先,我们来看“CSS常用动画特效”。CSS3引入了`@keyframes`规则,允许开发者创建复杂的...

    Flex样式生成工具(定制各种Flex按钮网页css样式)

    例如,你可以改变按钮的宽度和高度,调整背景色或渐变,设置边框宽度、颜色和圆角,以及添加文本阴影和悬停效果。此外,还可以定制按钮的字体类型、大小、颜色、对齐方式,以及行高和内边距。 生成的CSS代码会按照...

    使用纯 CSS 创作一个渐变色动画边框

    在本文中,我们将深入探讨如何使用纯 CSS 创建一个渐变色动画边框。这个效果是通过结合使用 CSS 的伪元素、渐变背景、动画和层级属性实现的。下面,我们将详细解析每个关键知识点: 1. **CSS 伪元素**: - `::...

    Flex 保存组件至本地

    这里,`component`是你要保存的Flex组件,`width`和`height`是它的尺寸,`true`表示使用Alpha通道,`0`是背景色。 3. **转换为PNG图像** `BitmapData`对象可以与`flash.display.Bitmap`类一起使用,以显示在舞台...

    flex 6款按钮皮肤

    Flex允许开发者通过CSS样式表或者ActionScript来定制按钮的视觉样式,包括颜色、大小、字体、边框、背景等。 在描述中提到的6款按钮皮肤,它们主要分为两类:4种无边框样式和2种带边框按钮。无边框按钮通常追求简洁...

    携程网移动端flex布局案例

    在本文中,我们将深入探讨如何运用Flex布局技术来构建携程网移动端的首页,结合CSS3样式、精灵图和渐变色等前端技术,实现头尾固定、中间自适应的页面设计。Flex布局(Flexible Box)是现代Web开发中的一个重要概念...

    Flex 4 进度条的皮肤

    例如,可以设置`&lt;s:Rect&gt;`的`fill`属性为一个渐变色或图片。 - 滑块(Slider):滑块通常代表已完成的部分,可以自定义其宽度、高度和颜色。滑块的位置和大小会随着进度值的改变而动态变化。 - 高亮区域...

    JS弹窗带有背景颜色会渐变效果遮罩住背景

    在JavaScript(JS)中,创建一个带有渐变背景色并能遮罩住页面背景的弹窗效果是一项常见的任务,尤其在网页交互设计中。这种效果能够提供更好的用户体验,因为渐变遮罩可以使用户更加专注于弹出的内容,同时不完全...

    flex 蓝易web Window1.2源码

    1.修正已知BUG; 2.窗口加入滚动条,当内容区域超出窗口大小时显示滚动条...修改任务栏按钮为活动状态时的背景渐变色; 12.加入按钮外观、滚动条外观; 13.WindowManager类增加get方法,可根据Window.id取得窗口引用

    Flex3中应用CSS完全详解

    - `backgroundGradientAlphas`: 设置背景渐变颜色的透明度。同样需要设置两个透明度值,用逗号分隔。 ### Panel组件样式属性 对于`Panel`组件,Flex也提供了一系列样式属性来帮助开发者定制其外观: - `...

    flex各组件对应的样式属性

    14. **Header Colors**:设置面板头部的渐变颜色,需要两个颜色值——起始色和结束色。 15. **Footer Colors**:与`headerColors`类似,但用于设置底部区域的颜色。 16. **Highlight Alphas**:当需要高亮显示时,...

    Flex组件属性大全[文].pdf

    - `backgroundGradientColors`用于设置背景的渐变色,需要提供两种颜色,用逗号分隔。 - `backgroundGradientAlphas`则对应渐变色的透明度,同样需要提供两种值,范围在0.00到1.00之间。 5. **panel 组件样式属性...

    flex api 3.6 带样式修改的标绘

    Flex还支持渐变色和图案填充,可以通过GradientEntry和BitmapFill对象来配置。 此外,Flex中的StyleManager和CSS是修改全局样式的强大工具。通过CSS,我们可以控制组件的外观,包括字体、边框、背景色等。例如,`...

Global site tag (gtag.js) - Google Analytics