【问题标题】:Flex-4 Beta2 : Background image stopped workingFlex-4 Beta2:背景图像停止工作
【发布时间】:2010-12-10 10:39:51
【问题描述】:

将项目从 Flex4 Beta1 升级到 Beta2 后,我发现 Halo 组件不再支持 background-image 样式。

例如:

<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
         backgroundImage="@Embed(source='myImage.png')" />

请注意,jira 问题SDK-23050 指出以下内容:

Spark 皮肤不支持 backgroundImage。

但这并没有使用 Spark 皮肤,只是一个标准的 Halo 组件。

有人有什么想法吗?

【问题讨论】:

    标签: apache-flex flex4 flex-spark halo


    【解决方案1】:
    <s:BorderContainer x="100" y="100" width="200" height="200"
    
                       backgroundImage="@Embed(source='image.jpg)" >
    </s:BorderContainer>
    

    使用上面的代码。任何 spark:BorderContainer 都有选项 backgroundImage,或者其他 backgroundImage 选项。将您想要的图像添加到您的源中,并为 image.jpg 输入您的图像名称及其扩展名。不要忘记单引号。

    【讨论】:

    • cookbooks.adobe.com/… 这是您问题的链接。属性“backgroundimage”转换为-Skin属性[down,- up,- over,-]
    【解决方案2】:

    您现在必须创建一个皮肤类。使用 VGroup 并指定自定义皮肤。

    【讨论】:

      【解决方案3】:

      Flex 4 中的 MX 组件允许您使用 Spark 外观,Adobe 默认使用 Spark 外观,因此同一应用程序中的 MX 和 Spark 组件看起来像是属于同一类。显然,Spark 皮肤支持的功能与 Halo 皮肤不同,现在如果您希望皮肤看起来不同(除了一些简单的颜色样式),您需要调整皮肤。考虑到设计师的创造力,这是一种比仅使用 CSS 更好的方法,因为它更灵活,但它让熟悉 Flex 3 工作流程的人感到惊讶。

      复制默认皮肤并为其添加背景并不难。但是,如果您喜欢的话,您也应该能够使用旧的 Halo 皮肤来获得 backgroundImage 支持。我相信您想告诉您的 VBox 使用 mx.skins.halo.HaloBorder。

      【讨论】:

        【解决方案4】:

        我最终将 backgroundImage 更改为 backgroundSkin,这解决了问题。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-03-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多