Flex的spark组件可以用skin来设置组件的背景,但是对于如果只想加个背景色,还要搞个skin 类来做,多少有点杀鸡用牛刀的赶脚,所以能否像Flex3中那样一个blackground就搞定呢?或者自己在组件中直接写个皮肤你?
如果用<s:Rect/>等来定义一块区域的颜色,那么你就只能用绝对定位,让其撑满整个组件。
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" mouseUp="application1_mouseUpHandler(event)" mouseOver="application1_mouseOverHandler(event)" mouseDown="application1_mouseDownHandler(event)" mouseOut="application1_mouseOutHandler(event)" xmlns:render="com.render.*" xmlns:com="com.*"> <fx:Script> <![CDATA[ protected function button1_clickHandler(event:MouseEvent):void { currentState = currentState == "disable" ? "up" : "disable"; } protected function application1_mouseUpHandler(event:MouseEvent):void { currentState = "over"; } protected function application1_mouseOverHandler(event:MouseEvent):void { currentState = "over"; } protected function application1_mouseDownHandler(event:MouseEvent):void { currentState = "press"; } protected function application1_mouseOutHandler(event:MouseEvent):void { currentState = "up"; } ]]> </fx:Script> <s:states> <s:State name="over"/> <s:State name="up"/> <s:State name="press"/> </s:states> <mx:Text text="111111111111111111"/> <s:Rect id="border" left="0" right="0" top="0" bottom="0"> <s:stroke> <s:SolidColorStroke weight="1" color="#00ffff"/> </s:stroke> </s:Rect> <s:Rect id="fill" left="10" right="10" top="10" bottom="10"> <s:fill> <s:SolidColor id="backgroupColor" color.up="0xff0000" color.over="0xffff99" color.press="0x000000"/> </s:fill> </s:Rect> <mx:Text text="111111111111111111" fontSize="23" x="{(this.width - test.width)/2}" y="{(this.height - test.height)/2}" id="test"/> <s:Button label="Click" click="button1_clickHandler(event)" top="10" left="10"/> <com:component width="100" height="100"/> </s:Application>
你也可用graphics来画图,因为graphics是每个显示组件的属性,它本来就属于最底层的,所以你不用担心层次结构。(对于application来说,不能用graphics来画背景)
<?xml version="1.0" encoding="utf-8"?> <s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx"> <fx:Declarations> <!-- Place non-visual elements (e.g., services, value objects) here --> </fx:Declarations> <fx:Script> <![CDATA[ override public function validateDisplayList():void { super.validateDisplayList(); this.graphics.clear(); this.graphics.beginFill(0xff0000,0.5); this.graphics.drawRect(0,0,400,400); this.graphics.endFill(); } ]]> </fx:Script> </s:Group>
相关推荐
flex 设置背景音乐flex 设置背景音乐flex 设置背景音乐flex 设置背景音乐flex 设置背景音乐flex 设置背景音乐flex 设置背景音乐
FLEX 背景图片设置的方法,很实用的技巧
Flex4中头部背景图片的Accordion实例。 案例。
Flex中背景平铺的做法,很简单,一个自定义类,在css样式表中调用即可。 适用于flex3,flex4中已经不需要这样做了,直接可以支持背景图片平铺。
Flex Android项目 设置Button的背景色 为button添加背景色属性
简洁的实现了在flex中实现背景音乐的功能
比较好的资源,在按钮上的各种状态切换,都有相应的图片背景!
为flex的videodispaly添加背景图片很好的实例值得一看学习,很好的学习flex播放器的加载事件以及方法
用这个包,你可以很快的给Flex3 VBox等添加上背景图片
Flex4中如何绘制给定角度和背景颜色的扇形。
flex来得到桌面背景信息!比如:桌面的分辨率,还有桌面的背景颜色捕捉!
用于模仿HTML的CSS样式表中的背景重复显示功能
可以设置控件里面显示的小数位数,通过restrict参数和小数位数动态控制,
FLEX4 修改表格的单元格背景色的工程文件
flex datagrid 改变指定行的背景颜色,可直接使用
这样设置背景色的时候非常不方便,那么直接在父项上,将align-items设为 flex-start,或者align-items属性的其他值都可以,子项就会保持自身的高度了。 .fat{ display: flex; align-items: flex-start; } 效果如下...
Flex DataGrid 改变某一行的背景颜色,自定义的DataGrid组件
flex 背景图片重复的组件库 类似HTML的CSS样式表中的背景重复
比如图片是16:9的,Image设置的宽高是4:3的,它不会自动拉伸成4:3,而是上下留白依然16:9。这个问题VideoDisplay组件载入FLV也一样,都是等比缩放的,有没有办法强制让他拉伸成某个宽高,设多少width/height就多少...
Flex 中如何根据不同行的内容, 动态调整每行的颜色。完整代码