`
hjy2099
  • 浏览: 262605 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Flex 嵌入资源

    博客分类:
  • Flex
阅读更多

http://www.adobe.com/cn/devnet/flex/quickstart/embedding_assets/

嵌入应用程序资源

可以在 Adobe® Flex™ 应用程序中嵌入各种类型的资源。 嵌入的资源被编译到 Flex 应用程序的 SWF 文件中。 它们不是在运行时加载的, 您并非必须使用您的应用程序部署原始资源文件。

提示: 嵌入资源的另一种方法是在运行时加载它们。 在运行时加载的资源必须使用您的应用程序进行部署, 因为它们没有被编译到您的应用程序中。 这具有保持 Flex 应用程序的文件大小更小和缩短其初始加载时间的优点。

<!-- Close Pod 1 no header -->

可以嵌入具有 PNG、JPEG 和 GIF 文件格式的图像, SWF 文件, 具有 MP3 文件格式的声音文件, SVG 文件和字体。 下列主题描述如何嵌入这些资源:

嵌入图像 (多个实例)

可以在 Flex 应用程序中嵌入具有 PNG、JPEG 或 GIF 文件格式的图像并创建它的一个或多个实例。

此示例使用 [Embed] 元数据标签在您的应用程序中嵌入图像并将它与可绑定的 ActionScript 类相关联。 接着它将 Image 控件的 source 属性绑定到 Logo 类。 可以将 Logo 类绑定到采用某个图像的任何组件属性, 比如 Button 控件的 icon 属性。

示例

<?xml version="1.0" encoding="utf-8"?>
<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    viewSourceURL="src/EmbeddingImages/index.html"
    layout="horizontal" width="350" height="250"
>
    
    <mx:Script>
        <![CDATA[
            [Embed(source="assets/logo.png")]
            []

            public var Logo:Class;            
        ]]>
    </mx:Script>

    <mx:Image id="myLogo" source="{Logo}"/>

    <mx:Image id="myLogo2" source="{Logo}"/>

</mx:Application>

结果

<!-- EmbeddingImages SWF -->
<!--<br class="clear-both" />-->

若要查看全部源代码, 请右键单击 Flex 应用程序并从上下文菜单中选择“查看源代码”。

嵌入图像 (单一实例)

可以使用线上 @Embed 指令在 Flex 应用程序中嵌入只希望显示一次的图像。

此示例将一个图像组件添加到一个应用程序中并使用其 source 属性中的 @Embed 指令。 若要在另一个 Image 控件中使用这一相同的图像, 则还必须将它嵌入到该组件中。 如果希望显示嵌入的图像的多个实例, 请使用 [Embed]元数据标签

示例

<?xml version="1.0" encoding="utf-8"?>
<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    viewSourceURL="src/EmbeddingAnImage/index.html"
    width="200" height="240"
>
    <mx:Image id="myLogo" source="@Embed('assets/logo.png')"/>

</mx:Application>

结果

<!-- EmbeddingAnImage SWF --><!-- <script type="text/javascript"> // <![CDATA[ embedSample("EmbeddingAnImage", "200", "240" , "9.0.0"); // ]]> </script> -->

若要查看全部源代码, 请右键单击 Flex 应用程序并从上下文菜单中选择“查看源代码”。

嵌入使用 scale-9 伸缩的图像

您可以将某个图像文件嵌入到您的 Flex 应用程序并以类似组件的方式智能地缩放它。 通过使用 scale-9 功能, 您的图像的四个角根本没有缩放, 水平边框仅在水平方向上缩放, 而垂直边框仅在垂直方向上缩放。 例如, 这对于以下情况很有用: 创建使用圆角的框, 或在您希望在缩放组件时保持边框清晰的位置进行组件样式调整。

此示例使用 Embed 元数据标签的 scaleGridTopscaleGridBottomscaleGridLeftscaleGridRight 网格线位置属性来创建您的 scale-9 网格。

提示: 获得网格线位置的值的一种比较容易的方法是将指南与 Adobe® Photoshop® 中的 Rectangular Marquee 工具和 Info 选项板一起使用。

<!-- Close Pod 1 no header -->

Photoshop 边框测量

提示: 旋转嵌入的 scale-9 图像的实例会关闭该图像的 scale-9 以在将来进行任意大小转换。

<!-- Close Pod 1 no header -->

示例

<?xml version="1.0" encoding="utf-8"?>
<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    viewSourceURL="src/EmbeddingImagesScale9/index.html"
    layout="vertical" width="400" height="480"

>

    <mx:Script>
        <![CDATA[
            [Embed(
                source="assets/fancy_border.png", 
                scaleGridTop="55", scaleGridBottom="137", 
                scaleGridLeft="57", scaleGridRight="266"

            )]
            
            []
            public var FancyBorderImage:Class;
        ]]>

    </mx:Script>

    <mx:Image source="{FancyBorderImage}" width="146" height="82"/>

    <mx:Image source="{FancyBorderImage}" width="266" height="150"/>
    <mx:Image source="{FancyBorderImage}" width="325" height="183"/>

</mx:Application>

结果

<!-- EmbeddingImagesScale9 SWF -->

若要查看全部源代码, 请右键单击 Flex 应用程序并从上下文菜单中选择“查看源代码”。

使用 CSS 为外观嵌入图像

您可以在 Flex 应用程序中嵌入图像并将它用于设置组件的外观。

您可以定义一个 CSS 类型选择器为给出类型的所有组件设置外观。 在此示例中, 您为 Button 控件创建了一个类型选择器。 类型选择器通过使用 Embed指定这些图像用作您的组件的外观属性。 您还可以定义一个类选择器来创建可作为样式应用到特定组件的自定义 CSS 类。

提示: 类选择器创建可用来设置单独的组件的样式的已命名样式类, 方法是通过使用 styleName 属性将类选择器分配给该组件。 类型选择器为给出类型的所有组件设置样式, 如下面的示例所示。

<!-- Close Pod 1 no header -->

示例

<?xml version="1.0" encoding="utf-8"?>
<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    viewSourceURL="src/EmbeddingImagesCSS/index.html"
    layout="horizontal" width="270" height="100"
    horizontalAlign="center" verticalAlign="middle" 

>

    <mx:Style>
        Button 
        {
            upSkin: Embed("assets/box_closed.png");

            overSkin: Embed("assets/box.png");
            downSkin: Embed("assets/box_new.png");

        }
    </mx:Style>
    
    <mx:Button/>
    
    <mx:Text text="Roll over and click the box!"/>

</mx:Application>

结果

<!-- Embedding Images CSS SWF --><!-- <script type="text/javascript"> // <![CDATA[ embedSample("EmbeddingImagesCSS", "270", "100" , "9.0.0"); // ]]> </script> -->

若要查看全部源代码, 请右键单击 Flex 应用程序并从上下文菜单中选择“查看源代码”。

嵌入 SWF 文件

嵌入 SWF 文件与嵌入图像几乎是相同的。 差别在于您可以将嵌入的 SWF 文件的实例当作 MovieClip 类的实例处理。 (它们实际上是 MovieClipAsset 类的子类, MovieClipAsset 类是 MovieClip 类的子类。)

注意: 您无法直接访问嵌入的 SWF 文件的属性或方法。 但是, 您可以使用 LocalConnection 以允许它们进行通信。

示例

<?xml version="1.0" encoding="utf-8"?>
<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
     viewSourceURL="src/EmbeddingSwfFiles/index.html"
    layout="horizontal" width="290" height="290"
    horizontalAlign="center" verticalAlign="middle"
 >

    <mx:Script>
    <![CDATA[
            [Embed(source="assets/hourglass.swf")]

            []
            public var Hourglass:Class;            
        ]]>
    </mx:Script>

    <mx:Image id="hourglass" source="{Hourglass}"/>
</mx:Application>

结果

<!-- EmbeddingSwfFiles SWF --><!-- <script type="text/javascript"> // <![CDATA[ embedSample("EmbeddingSwfFiles", "290", "290" , "9.0.0"); // ]]> </script> -->

若要查看全部源代码, 请右键单击 Flex 应用程序并从上下文菜单中选择“查看源代码”。

嵌入 SWF 库资源

您可以在应用程序中嵌入来自现有 SWF 库中的特定符号。 Flash 定义三种类型的符号: Button、MovieClip 和 Graphic。 您可以在 Flex 应用程序中嵌入 Button 和 MovieClip 符号, 但您不能嵌入 Graphic 符号, 因为无法为 ActionScript 导出 Graphic 符号。

此示例使用 [Embed] 元数据标签的 source 属性来指定包含您的库的 SWF 文件, 并使用 [Embed] 元数据标签的 symbol 属性来指定您要在该库中嵌入的符号的链接 ID。

示例

<?xml version="1.0" encoding="utf-8"?>
<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    viewSourceURL="src/EmbeddingSwfLibraryAssets/index.html"
    layout="horizontal" width="450" height="240"
    horizontalAlign="center" verticalAlign="bottom"     

>
  
    <mx:Script>
    <![CDATA[
            [Embed(source="assets/library.swf", symbol="BadApple")]

            []
            public var BadApple:Class;
            
            [Embed(source="assets/library.swf", symbol="Pumpkin")]

            []
            public var Pumpkin:Class;
                        
        ]]>
    </mx:Script>

    <mx:Image id="badApple" source="{BadApple}" width="150" height="151.8"/>

    <mx:Image id="pumpkin" source="{Pumpkin}" width="150" height="131.7"/>
    

</mx:Application>

结果

<!-- EmbeddingSwfLibraryAssets SWF --><!-- <script type="text/javascript"> // <![CDATA[ embedSample("EmbeddingSwfLibraryAssets", "450", "240" , "9.0.0"); // ]]> </script> -->

若要查看全部源代码, 请右键单击 Flex 应用程序并从上下文菜单中选择“查看源代码”。

嵌入声音文件

您可以在 Flex 应用程序中通过使用 [Embed] 元数据标签嵌入 MP3 文件并播放它。

注意: 记住嵌入的声音文件会成为您的应用程序 (最终的 SWF 文件) 的一部分, 而 MP3 文件会很大, 从而会使您的应用程序变得很大并会对应用程序的下载速度产生负面影响。

此实例将该 MP3 的一个新实例创建为一个 SoundAsset。它使用 SoundAsset 类的 play() 方法来播放 MP3 文件的实例, 并存储返回的 SoundChannel 对象, 从而您可以稍后调用 SoundChannel 对象的 stop() 方法以结束播放。

示例

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" horizontalAlign="center" verticalAlign="center" viewSourceURL="srcEmbeddingSoundFiles/index.html">

    <mx:Script>
        <![CDATA[
            import mx.core.SoundAsset;
            import flash.media.*;

            [Embed(source="assets/pie-yan-knee.mp3")]

            []
            public var Song:Class;

            public var mySong:SoundAsset = new Song() as SoundAsset;
            public var channel:SoundChannel;
            
            public function playSound():void 
            {

                // Make sure we don't get multiple songs playing at the same time
                stopSound();
                
                // Play the song on the channel
                channel = mySong.play();
            }
            
            public function stopSound():void 
            {

                // Stop the channel, but only if it exists
                if ( channel != null ) channel.stop();
            }

        ]]>
    </mx:Script>
    
    <mx:HBox>
        <mx:Button label="play" click="playSound();"/>

        <mx:Button label="stop" click="stopSound();"/>        
    </mx:HBox>
    
    <mx:Text width="348" textAlign="center" color="#ffffff">

        <mx:htmlText>
            <![CDATA[<a href="http://derekaudette.ottawaarts.com/music.php">Pie-Yan-Knee Written and Performed by: Derek R. Audette © 2004 (Creative Commons Attribution License)</a>]]>
        </mx:htmlText>
    </mx:Text> 
    
</mx:Application>

结果

<!-- EmbeddingSoundFiles SWF --><!-- <script type="text/javascript"> // <![CDATA[ embedSample("EmbeddingSoundFiles", "400", "110" , "9.0.0"); // ]]> </script> -->

若要查看全部源代码, 请右键单击 Flex 应用程序并从上下文菜单中选择“查看源代码”。

嵌入 SVG 文件

可以将 SCG 文件嵌入到 Flex 应用程序中。

嵌入 SVG 文件与嵌入图像几乎是相同的。 差别在于您可以将嵌入的 SVG 文件的实例当作 Sprite 类的实例处理。 (它们实际上是 SpriteAsset 类的实例, SpriteAsset 类是 Sprite 类的子类。) 嵌入的 SVG 文件还保留它们的矢量属性, 且在被缩放或转换时不会显示像素。

注意: 不能在运行时导入 SVG 文件;仅可以在编译时在 Flex 应用程序中嵌入它们。

示例

<?xml version="1.0" encoding="utf-8"?>
<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    layout="horizontal" 
    viewSourceURL="srcEmbeddingSvgFiles/index.html"
    width="600" height="470"

>
    <mx:Script>
    <![CDATA[
            [Embed(source="assets/frog.svg")]

            []
            public var SvgFrog:Class;            
        ]]>
    </mx:Script>

    <mx:Image id="smallFrog" source="{SvgFrog}" width="128" height="130"/>

    <mx:Image id="largeFrog" source="{SvgFrog}"/>
</mx:Application>

结果

<!-- EmbeddingSvgFiles SWF --><!-- <script type="text/javascript"> // <![CDATA[ embedSample("EmbeddingSvgFiles", "400", "250" , "9.0.0"); // ]]> </script> -->

若要查看全部源代码, 请右键单击 Flex 应用程序并从上下文菜单中选择“查看源代码”。

提示: SVG 青娃图形是 Architetto Francesco Rollandin 创建的, 他慷慨地将它发布到 Open Clip Art Library公共区域中。 您可以在网站找到其他可免费使用和试验的 SVG 文件。

<!-- Close Pod 1 no header -->

嵌入字体

您希望在 Flex 应用程序中嵌入一种字体并将它用作基于文本的组件的样式。

下面的示例创建引用嵌入的字体的 font-family 名称的一个类选择器。 接着它会创建一个 Text 控件并将其样式设置为该类选择器。

提示: 您在嵌入字体以节省文件大小时仅可以从字体添加某些字符, 方法是指定您的 @font-face 声明的 unicode-range 属性。

<!-- Close Pod 1 no header -->

详细信息: 有关使用字体的详细信息, 请参阅 Flex 2 开发人员指南*中的“使用字体”。

示例

<?xml version="1.0" encoding="utf-8"?>
<mx:Application 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    layout="horizontal" 
    horizontalAlign="center" 
    verticalAlign="center" 
    viewSourceURL="src/EmbeddingFonts/index.html"

>

    <mx:Style>
        @font-face 
        {
            font-family: Copacetix;

            src: url("assets/copacetix.ttf");
            unicode-range:
                U+0020-U+0040, /* Punctuation, Numbers */

                U+0041-U+005A, /* Upper-Case A-Z */
                U+005B-U+0060, /* Punctuation and Symbols */
                U+0061-U+007A, /* Lower-Case a-z */
                U+007B-U+007E; /* Punctuation and Symbols */

        }

        .MyTextStyle 
        { 
            font-family: Copacetix; 
            font-size: 24pt;    
        }

    </mx:Style>

    <mx:Text styleName="MyTextStyle" text="Embedded fonts rock!" width="100%"/>
    

</mx:Application>

结果

<!-- EmbeddingFonts SWF --><!-- <script type="text/javascript"> // <![CDATA[ embedSample("EmbeddingFonts", "360", "85" , "9.0.0"); // ]]> </script> -->

若要查看全部源代码, 请右键单击 Flex 应用程序并从上下文菜单中选择“查看源代码”。

Copacetix.com 的 Copacetix TrueType 免费字体。 在 Creative Commons Attribution-ShareAlike 2.0 许可证下得到许可。

分享到:
评论

相关推荐

    Flex应用程序中嵌入各种类型的资源方法 源码

    2. **嵌入资源**: - ` Embed`元标签:使用`[Embed]`元标签可以将资源直接嵌入到SWF中,方便快速访问,但会增加SWF文件大小。 - `ResourceModule`:Flex框架提供的模块化资源管理,可以将资源放在单独的模块中,按...

    flex嵌入jsp所需的完整包4个

    将Flex嵌入到JSP中,可以实现富客户端与后端服务器的有效通信,提供更佳的用户体验。 本压缩包包含四个关键的jar文件,它们分别是: 1. flex-webtier.jar:这是Flex与服务器端通信的核心组件,包含了Flex Remoting...

    flex嵌入jsp心得

    开发者在个人文件中偶然发现了FlexModule_j2ee.zip,这是一个关键的资源包,包含了将Flex嵌入到JSP中的必要组件和文档。通过解压并阅读其中的readme.txt文件,开发者获取了初步的指导思路,了解到该模块能够简化Flex...

    FLEX嵌入HTML(精简版)

    在“FLEX嵌入HTML(精简版)”的例子中,我们将学习如何利用FLEX的强大功能与HTML的灵活性相结合,以提升用户体验。HTML由于其易读性和丰富的标记能力,常用于构建网页结构和内容,而FLEX则擅长提供动态交互和视觉效果...

    flex嵌入html(升级版)

    总结来说,"flex嵌入html(升级版)"的实践示例IFrameDemo展示了如何利用Flex的IFrame组件将HTML内容整合到Flex应用中,实现富媒体和交互性的结合。这种技术在需要混合展现静态内容和动态数据,或是利用现有HTML资源时...

    FLEX3嵌入到JSP,实现的 jar 包

    在IT行业中,尤其是在Web开发领域...总之,"FLEX3嵌入到JSP,实现的jar包"是一个集合了Flex与JSP集成所需核心组件的资源包,帮助开发者轻松地在Java Web应用中集成Flex功能,创建具有动态交互和丰富用户体验的Web应用。

    flex加载html页面

    标题“flex加载html页面”指的是在Flex项目中嵌入并显示HTML内容的技术。这通常通过使用Flex中的`mx.controls.WebBrowser`组件或`flash.display.Loader`类来实现。以下是对这两个方法的详细说明: 1. **`mx....

    Jsp嵌入Flex 、Jsp Flash报表实现源码

    本资源“Jsp嵌入Flex 、Jsp Flash报表实现源码”提供了一种将Flex的图形化展示能力和JSP的数据处理能力结合起来,以创建具有丰富视觉效果和交互性的报表应用的方法。 首先,让我们深入理解JSP和Flex各自的特性: 1...

    flex绑定资源文件1

    本话题主要探讨如何在Flex中绑定资源文件,尤其是关于在按钮中嵌入icon图标的两种方法。 首先,Flex是一种基于ActionScript的开放源代码框架,用于构建富互联网应用程序(RIA)。它允许开发者创建具有交互性和动态...

    FLEX安装方法 集成到eclipse中

    参考资源 * Adobe 官方网站:http://www.adobe.com/cn/ * FLEX 官方网站:http://flex.sourceforge.net/ * Adobe Flex Developer Center:http://www.adobe.com/devnet/flex/?sdid=ZFCT * Adobe 中文网站:...

    FLEX_人力资源管理

    在“FLEX_人力资源管理”项目中,我们可以推测开发者使用了Flex技术来构建用户界面,提供了丰富的交互性和可视化效果。同时,结合ILOG Elixir的优化算法,可能实现了高效的人力资源分配、排班、任务调度等功能。 ...

    arcgis4flex调用天地图资源

    而"arcgis4flex调用天地图资源"的主题涉及了如何将ArcGIS与中国的天地图(Tianditu)服务进行集成,以便在Flex应用中显示天地图的地理信息。 天地图是中国国家基础地理信息中心提供的公共服务平台,它提供了丰富的...

    FLEX自定义等待图标资源

    在FLEX中,开发者可以将SWF资源嵌入到应用程序中,然后通过编程控制它们的显示和隐藏,实现等待图标的效果。例如,当一个耗时的操作开始时,可以显示SWF等待图标,操作完成后则将其隐藏。 GIF是一种支持动画的图像...

    flex DataGrid 嵌入Combobox列拖动下拉条数据混乱

    然而,在实际应用中,我们可能会遇到一些问题,比如在DataGrid中嵌入Combobox列,并且允许用户拖动列时,Combobox的数据可能会出现混乱的情况。这个问题主要是由于拖动列时,数据绑定没有正确处理导致的。 首先,...

    flex动态添加资源

    在Flex开发中,"flex动态添加资源"是一个重要的优化策略,它允许开发者在运行时根据需要动态加载资源,而不是在构建SWF文件时一次性将所有资源嵌入其中。这种技术对于大型应用程序尤其有用,因为它可以显著减小SWF...

    flex 资源

    字体资源可以是嵌入的TrueType或OpenType字体,也可以是Web字体服务。正确管理字体资源可以确保跨平台的一致显示。 4. **声音资源**:在Flex中,声音资源可以用于创建交互式音频效果。通过使用Sound类和NetStream类...

    arcgis for flex中嵌入饼图

    资源为arcgis嵌入flex默认饼图,也可以修改成amchart和FusionCharts,都已经试过了,都可以修改!刚研究出来分享一下!

    amcharts嵌入到flex中

    可以从官方网站下载最新的AmCharts JavaScript文件,例如"amcharts.js",并将其添加到Flex项目的资源目录中。同时,如果需要特定主题或者自定义样式,还需要下载对应的CSS文件。 在Flex项目中,创建一个SWF对象来...

    FLEX安装和配置全步骤

    2. 部署FLEX应用可以作为SWF文件嵌入到HTML页面,也可以打包为AIR应用进行桌面部署。 **调试和测试** - 使用FLEX Builder内置的调试器,你可以设置断点,检查变量值,追踪代码执行流程。 - 测试工具如Flash Player...

    flex4 相关资源

    4. `html-template` 文件夹:这个文件夹包含HTML模板,用于在浏览器中嵌入Flex应用。当发布Flex应用时,这个模板会被用来生成最终的HTML文件,用户可以通过这个HTML文件来启动SWF(Flash)应用。 5. `.settings` ...

Global site tag (gtag.js) - Google Analytics