Flex 平铺背景图片

估计不少做Flex的初学者和我一样,寻找让Flex背景图片平铺显示方法。

但现在我要告诉你的是Flex本身没有提供这种方法,至少在Flex3上是没有提供的。

所以就要自己写代码来实现这种效果,其实很简单的。

 

下面是我在网上找到的一个方法,然后自己做了一点小小的修改。

并做一个简单的例子放上来,你可以点这里下载。

package
{  
    import flash.geom.Rectangle;  
  
    import mx.graphics.BitmapFill;  
    import mx.skins.ProgrammaticSkin;  
    import flash.text.StyleSheet;
  
    public class RepeatBackground extends ProgrammaticSkin {  
        public 
function  RepeatBackground() {
        }

        override protected 
function  updateDisplayList(w:Number, h:Number): void  {  
            super.updateDisplayList(w,h);  
            
            graphics.clear();
            
var  b:BitmapFill  =   new  BitmapFill();  
            b.source 
=  getStyle( " backgroundImage " );;  
            b.begin(graphics,
new  Rectangle( 0 , 0 ,w,h));  
            graphics.drawRect(
0 , 0 ,w,h);  
            b.end(graphics);  
        }  
    }

 

使用方法也很简单,只需要设置一下css就可以了

Application
{
    backgroundImage
:  Embed(source="assets/bg1.gif") ;  
    border-skin
: ClassReference("RepeatBackground") ;
}

 

 

附件下载

 

你可能感兴趣的:(Flex)