【问题标题】:Filling Flex Application background with pattern?用图案填充 Flex 应用程序背景?
【发布时间】:2011-03-31 06:10:37
【问题描述】:

我们正在尝试通过在整个背景中重复图案来填充我们的 Flex 3 应用程序背景。

图案是一个非常小的“子弹头”背景。

尽管我们在 CSS 中指定了以下内容,但 Flex 应用似乎只是拉伸了图像图案:

应用 { 背景渐变颜色:#ffffff,#ffffff; 颜色:#000000; 背景图像:嵌入(来源=“../assets/images/gray_bullet_background.png”); 背景重复:重复; 背景位置:中心; 背景混合:相乘; ...

有人知道我们在这里可能遗漏了什么吗?

非常感谢,

FortPointUIGuy

【问题讨论】:

    标签: flash actionscript-3 flex3


    【解决方案1】:

    Flex 不支持后台重复,因此您需要一个自定义皮肤,如下所示:

    package view.skin
    {
        import flash.display.Bitmap;
        import mx.skins.ProgrammaticSkin;
    
        public class RepeatingImageSkin extends ProgrammaticSkin
        {
            override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
            {
                var cls:Object = getStyle("backgroundImage");
                var bmp:Bitmap = new cls();
                graphics.clear();
                graphics.beginBitmapFill(bmp.bitmapData);
                graphics.drawRect(0, 0, unscaledWidth, unscaledHeight);
            }
        }
    }
    

    那么对于您的应用程序风格,您可以:

    Application {
        background-image: Embed(source="../assets/images/gray_bullet_background.png");
        border-skin: ClassReference("view.skin.RepeatingImageSkin");
    }
    

    【讨论】:

    • 用 s|WindowedApplication 试过但不工作,仅供参考。不过我没有尝试过应用程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-07
    • 2016-02-12
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    • 2019-06-17
    • 1970-01-01
    相关资源
    最近更新 更多