`
saboo
  • 浏览: 72509 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Flex中使用Embed嵌入元素

    博客分类:
  • Flex
阅读更多

可以在Flex应用程序中嵌入各种元素。被嵌入的元素将编译进SWF文件。它们不是在运行时载入的,所以不必为应用程序部署原元素。

 

可以嵌入的图像格式有PNG、JPEG、GIF。嵌入后可以同时使用它的多个实例。

下面的例子使用[Embed]原标签经image嵌入应用程序,并且采用绑定ActionScript类的形式。这就可以绑定Image控件的source属性到Logo类。可以绑定Logo类到任何可以使用image的组件属性上,比如Button控件的icon属性。

例子:

<?xml version="1.0" encoding="utf-8"?>
<!-- http://yecon.blog.hexun.com/29628260_d.html -->
<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>
-----------------------------------------------------------------
如果想只使用一个实例的话,可以使用内部@Embed直接将图像嵌入Flex应用程序。
下面的例子添加了一个Image组件,并且使用@Embed直接定业了它的source属性。要使用相同的image,就必须再次将此image嵌入到那个组件中。
如果想显示一个嵌入image的多个实例,可以用[Embed]原标签代替。

例子:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application 
<!-- http://yecon.blog.hexun.com/29628260_d.html -->
    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>
 
-----------------------------------------------------------------
可以在Flex应用程序中嵌入image,并且可以将它应用于组件的皮肤。可以定义一个CSS选择器,以设置所有组件的皮肤。
在下面的例子中,为Button控件创建了一个CSS选择器。

例子:

<?xml version="1.0" encoding="utf-8"?>
<!-- http://yecon.blog.hexun.com/29628260_d.html -->
<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>
 
-----------------------------------------------------------------
嵌入SWF文件的方法与嵌入IMAGE的方法差不多,只是可以把已嵌入的SWF文件实例当做MovieClip类。
(不可直接访问嵌入SWF文件的属性和方法,但是可以使用LocalConnection来允许他们之间的通信)

 

例子:

 

<?xml version="1.0" encoding="utf-8"?>
<!-- http://yecon.blog.hexun.com/29628260_d.html -->
<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>
 
-----------------------------------------------------------------
可以嵌入存在于应用程序的SWF文件库里的特殊标签。
Flash定义了三种类型的标签:Button、MovieClip、Graphic。可以嵌入Button和MovieClip标签到Flex应用程序,但是不不能嵌入Graphic标签。
  

例子:

<?xml version="1.0" encoding="utf-8"?>
<!-- http://yecon.blog.hexun.com/29628260_d.html -->
<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>
 
-----------------------------------------------------------------

 

可以通过使用[Embed]原标签的方法在Flex应用程序中嵌入MP3文件。
 

例子:

<?xml version="1.0" encoding="utf-8"?>
<!-- http://yecon.blog.hexun.com/29628260_d.html -->
<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 (c) 2004 (Creative Commons Attribution License)</a>]]>
        </mx:htmlText>
    </mx:Text> 
    
</mx:Application>
 
-----------------------------------------------------------------
可以在Flex应用程序中嵌入SVG文件

 

例子:

<?xml version="1.0" encoding="utf-8"?>
<!-- http://yecon.blog.hexun.com/29628260_d.html -->
<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>
 
-----------------------------------------------------------------
可以在Flex应用程序中嵌入字体
 

例子:

<?xml version="1.0" encoding="utf-8"?>
<!-- http://yecon.blog.hexun.com/29628260_d.html -->
<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>

 

分享到:
评论

相关推荐

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

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

    flex嵌入html的容器

    通常,我们可以使用`&lt;object&gt;`或`&lt;embed&gt;`标签将Flex应用嵌入到HTML中。这两种方法都可以实现Flex SWF文件与HTML的交互,但具体使用哪种取决于需求和浏览器兼容性。在IFrameDemo的例子中,我们可能还会用到`&lt;iframe&gt;...

    Embed嵌入XML

    标题"Embed嵌入XML"指的是如何使用AS3的`Embed`元标签来加载并使用XML文件。这种方式使得XML数据在运行时无需通过网络加载,提高了应用程序的响应速度和离线可用性。 首先,我们需要了解`Embed`元标签的基本语法。`...

    components-flex-embed, 内嵌比嵌入的组件 CSS.zip

    components-flex-embed, 内嵌比嵌入的组件 CSS 适合 CSS components-flex-embed 用于响应特性的CSS嵌入。 Includes 3: 1,2:,16: 9 和 4: 3 长宽比包含修饰符类。阅读更多关于css原则设计的css原则的文章。安装npm:

    flex嵌入JSP

    将Flex嵌入到JSP页面中,可以结合两者的优点,提供丰富的图形用户界面和强大的后端数据处理能力。 在将Flex嵌入到JSP页面时,可能会遇到一个常见的问题:Flex组件被其他元素遮挡。这通常是由于CSS样式冲突或者布局...

    Flex嵌入IFrame解决方案

    在某些项目中,可能需要将Flex组件与HTML页面中的IFrame元素结合使用,以便实现更复杂的网页布局和功能集成。本文主要讨论的是如何在Flex应用中正确地嵌入和处理IFrame的相关问题。 1. **在iframe边上点击后,...

    amcharts嵌入到flex中

    这可以通过在MXML文件中使用`&lt;mx:SWFLoader&gt;`标签实现,设置其`source`属性为AmCharts的JavaScript文件路径。例如: ```xml &lt;mx:SWFLoader id="chartLoader" source="@Embed('/path/to/amcharts.js')"/&gt; ``` 然后...

    html嵌入flex swf

    在 HTML 中嵌入 Flex SWF 文件,通常使用的是 Adobe 提供的 `SWFObject` JavaScript 库。这个库能够帮助我们优雅地处理浏览器兼容性问题,同时提供了一种简单的方法来插入 SWF 文件并传递参数。下面详细介绍如何实现...

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

    - **Flex组件嵌入**:JSP页面可以使用`&lt;object&gt;`或`&lt;embed&gt;`标签嵌入Flash内容,即Flex编译后的SWF文件。这样,Flex组件就能在网页中无缝展示,提供动态交互的报表体验。 - **事件处理**:Flex的交互事件(如点击、...

    FLEX 背景图片设置

    注意,我们使用了`BitmapAsset`类来加载嵌入的图片资源,这是AS3中处理嵌入图片的一种方法。 此外,你可能需要考虑背景图片的拉伸和裁剪问题。默认情况下,`&lt;s:Image&gt;`或`Image`对象会尝试保持原始图片的比例。如果...

    Flex IFrame中文注释使用方法详解

    Flex IFrame组件是Adobe Flex框架中的一个强大工具,它允许开发者在Flex应用程序中嵌入HTML、JSP或其他Web内容。这个功能使得Flex应用能够与外部Web资源交互,从而实现更丰富的用户体验。本文将深入探讨Flex IFrame...

    flex加载html页面

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

    flash actionscript3游戏开发之 5种将fla中的资源嵌入到Flex或者纯AS3项目中的方法.zip

    这样的声明允许在类的静态上下文中使用嵌入的资源。 总之,这五种方法为开发者提供了灵活的方式来处理FLA中的资源,可以根据项目的具体需求选择最合适的嵌入策略。在开发Flash ActionScript3游戏时,正确嵌入和...

    应用flash制作flex样式

    SWF可以直接在Flex中使用,而SVG则可能需要转换为SWF或使用Flex支持的其他格式。 3. **创建Flex皮肤类**:在Flex项目中,为每个组件创建相应的皮肤类。这些类通常继承自Flex的基础皮肤类,并通过@SkinClass注解关联...

    flex中paner的特效

    我们可以使用`[Embed]`元数据标签将SWF文件嵌入到项目中,并在`skinClass`属性中引用它。 至于`empty.swf` 文件,它可能是另一个预编译的皮肤或者是未使用的资源。在Flex中,SWF皮肤不仅可以包含静态图像,还可以...

    Flex4中头部背景图片的Accordion

    通过`@Embed`注解,可以将图片嵌入到SWF文件中。 #### 核心知识点五:状态处理 `CustomAccordionHeaderSkin`中还定义了多个状态,如`up`、`over`、`down`和`selectedUp`等。这些状态对应于Accordion头部的不同交互...

    RadioButton Embed In The DataGrid Of Flex

    在Flex开发中,有时我们需要在DataGrid组件中嵌入...然后在DataGrid的列定义中使用这个渲染器,并设置适当的事件处理程序来响应用户的选择。这样的实现方式提供了良好的用户交互,同时确保了单选按钮组的逻辑正确性。

    flex 竖排Menu

    例如,`菜单项" icon="@Embed('path/to/icon.png')"/&gt;`,这里的@Embed用于内联资源,将图标文件嵌入到应用中。 4. **事件处理**:为每个MenuItem添加点击事件监听器,以便在用户选择菜单项时执行相应的功能。 5. **...

    用flex实现苹果样式的弹出菜单

    在Flex中,可以使用` Embed`元标签将图片资源嵌入到项目中,然后在`Image`组件中引用它们。 7. **响应式设计**:考虑到跨平台兼容性,确保弹出菜单在不同屏幕尺寸和分辨率下都能良好显示。使用Flex的响应式设计原则...

    flex (eclipse)开发配置手册

    3. 配置SDK:在Eclipse中设置Flex SDK路径,这样Eclipse就能识别并使用Flex编译器。 4. 创建新项目:使用新建项目向导,选择Flex项目模板,并按照向导提示配置项目设置,如主类、库等。 文件列表中的"flex_java_...

Global site tag (gtag.js) - Google Analytics