`
demojava
  • 浏览: 549107 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

flex4 Application backgroundImage

 
阅读更多

群里一哥们问我 f4 设置 Application 的 backgroundImage  问题,

就写了一个demo  Application  skin文件  图片是http形式的

原理利用有 BorderContainer 控件 这个控件一般用来做边框,背景贴图。。。当然了这个空间有一个特殊的CSS属性

backgroundImage 底层的skin就是添加了 BorderContainer控件

1.新建一个 spark.components.Application skin

去掉系统的背景填充

<s:Rect id="backgroundRect" left="10" right="10" top="10" bottom="10" radiusX="10" radiusY="10"  >  

      <s:fill>            

  <s:SolidColor id="bgRectFill" color="yellow"/>  

        </s:fill>  

    </s:Rect>  

  添加

	<s:BorderContainer id="backgroundImg"
					   backgroundColor="#FFFFFF"
					   borderVisible="false"
					   left="0" right="0" top="0" bottom="0" />

 

修改 updateDisplayList()方法

			override protected function updateDisplayList(unscaledWidth:Number, 
														  unscaledHeight:Number):void {
				backgroundImg.setStyle("backgroundAlpha", 
					getStyle("backgroundAlpha"));
				backgroundImg.setStyle("backgroundColor", 
					getStyle("backgroundColor"));
					backgroundImg.setStyle("backgroundImage", 
						getStyle("backgroundImage"));
					backgroundImg.setStyle("backgroundImageFillMode", "repeat");
				super.updateDisplayList(unscaledWidth, unscaledHeight);
			}

 

源文件如下:

<?xml version="1.0" encoding="utf-8"?>

<!--

    ADOBE SYSTEMS INCORPORATED
    Copyright 2008 Adobe Systems Incorporated
    All Rights Reserved.

    NOTICE: Adobe permits you to use, modify, and distribute this file
    in accordance with the terms of the license agreement accompanying it.

-->

<!--- The default skin class for the Spark Application component. 
        
       @see spark.components.Application
        
      @langversion 3.0
      @playerversion Flash 10
      @playerversion AIR 1.5
      @productversion Flex 4
-->
<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark"
        xmlns:fb="http://ns.adobe.com/flashbuilder/2009" alpha.disabled="0.5" alpha.disabledWithControlBar="0.5">

    <fx:Metadata>
    <![CDATA[ 
        /** 
         * A strongly typed property that references the component to which this skin is applied.
         */
        [HostComponent("spark.components.Application")]
    ]]>
    </fx:Metadata> 
    <fx:Script fb:purpose="styling">
        <![CDATA[
            /**
             *  @private
             */
			override protected function updateDisplayList(unscaledWidth:Number, 
														  unscaledHeight:Number):void {
				backgroundImg.setStyle("backgroundAlpha", 
					getStyle("backgroundAlpha"));
				backgroundImg.setStyle("backgroundColor", 
					getStyle("backgroundColor"));
					backgroundImg.setStyle("backgroundImage", 
						getStyle("backgroundImage"));
					backgroundImg.setStyle("backgroundImageFillMode", "repeat");
				super.updateDisplayList(unscaledWidth, unscaledHeight);
			}
        ]]>
    </fx:Script>
    <s:states>
        <s:State name="normal" />
        <s:State name="disabled" />
        <s:State name="normalWithControlBar" />
        <s:State name="disabledWithControlBar" />
    </s:states>
	<s:BorderContainer id="backgroundImg"
					   backgroundColor="#FFFFFF"
					   borderVisible="false"
					   left="0" right="0" top="0" bottom="0" />
	
    <!-- fill -->
    <!--- 
        A rectangle with a solid color fill that forms the background of the application.
        The color of the fill is set to the Application's backgroundColor property.
    -->       
    <s:Group left="0" right="0" top="0" bottom="0">
        <s:layout>
            <s:VerticalLayout gap="0" horizontalAlign="justify" />
        </s:layout>

        <!--- 
            @private
            Application Control Bar
        -->
        <s:Group id="topGroup" minWidth="0" minHeight="0"
                    includeIn="normalWithControlBar, disabledWithControlBar" >

            <!-- layer 0: control bar highlight -->
            <s:Rect left="0" right="0" top="0" bottom="1" >
               <s:stroke>
                    <s:LinearGradientStroke rotation="90" weight="1">
                        <s:GradientEntry color="0xFFFFFF" />
                        <s:GradientEntry color="0xD8D8D8" />
                    </s:LinearGradientStroke>
               </s:stroke>
            </s:Rect>

            <!-- layer 1: control bar fill -->
            <s:Rect left="1" right="1" top="1" bottom="2" >
               <s:fill>
                    <s:LinearGradient rotation="90">
                        <s:GradientEntry color="0xEDEDED" />
                        <s:GradientEntry color="0xCDCDCD" />
                    </s:LinearGradient>
               </s:fill>
            </s:Rect>

            <!-- layer 2: control bar divider line -->
            <s:Rect left="0" right="0" bottom="0" height="1" alpha="0.55">
                <s:fill>
                    <s:SolidColor color="0x000000" />
                </s:fill>
            </s:Rect>

            <!-- layer 3: control bar -->
            <!--- @copy spark.components.Application#controlBarGroup -->
            <s:Group id="controlBarGroup" left="0" right="0" top="1" bottom="1" minWidth="0" minHeight="0">
                <s:layout>
                    <s:HorizontalLayout paddingLeft="10" paddingRight="10" paddingTop="7" paddingBottom="7" gap="10" />
                </s:layout>
            </s:Group>
        </s:Group>

        <!--- @copy spark.components.SkinnableContainer#contentGroup -->
        <s:Group id="contentGroup" width="100%" height="100%" minWidth="0" minHeight="0" />

    </s:Group>

</s:Skin>

 

然后外部引用css 当然了这个css特殊的地方必须有 backgroundImage 这个属性

例如:

	<fx:Style>
		@namespace s "library://ns.adobe.com/flex/spark";
		@namespace mx "library://ns.adobe.com/flex/mx";
		s|Application
		{
			backgroundImage: Embed("http://www.beasy.org/wp-content/uploads/2011/10/sh.jpg");
		}
	</fx:Style>

 

测试ok

 

分享到:
评论

相关推荐

    Flex4_CSS手册

    - `backgroundImage`: 应用背景图片,通常通过`&lt;s:Embed&gt;`标签加载图像资源。 - `backgroundColor`: 设置背景颜色。 - `backgroundGradientColors`: 定义背景渐变颜色,需指定两个颜色值,分别为渐变起始和结束颜色...

    Flex中的CSS样式

    - `backgroundImage`:背景图 - `backgroundColor`:背景色 - `backgroundGradientColors`:背景渐变色 - `backgroundGradientAlphas`:背景渐变透明度 - **`Panel`组件样式属性** - `cornerRadius`:边角半径...

    Flex3中应用CSS完全详解

    - `backgroundImage`: 可以使用`Embed(source="")`来应用背景图像。 - `backgroundColor`: 设置背景颜色。 - `backgroundGradientColors`: 设置背景渐变颜色。需要设置两个颜色值,用逗号分隔。 - `...

    flex各组件对应的样式属性

    1. **Background Image**:可以通过`Embed`标签嵌入一张图片作为背景。例如,使用`Embed(source="")`可以指定背景图片的路径。 2. **Background Color**:设置背景颜色,可以通过单个颜色值来实现。 3. **...

    Flexcss完全手册.pdf

    * backgroundImage:背景图使用Embed(source=" ")来应用。 * backgroundColor:背景色。 * backgroundGradientColors:背景渐进色,需要设置2个颜色,渐进起始色和渐进结束色,中间以逗号分隔。 * ...

    关于打地鼠的Flex代码

    backgroundImage="C:\Documents and Settings\AllUsers\Documents\My Pictures\Winter.jpg" creationComplete="init();" initialize="initMethod();"&gt; ``` 这里设置了Flex应用的基础属性,如布局方式、字体样式等...

    Flex 组件样式

    - **backgroundImage 背景图** - **定义**:用于设置组件的背景图片。 - **用法**:通过`Embed(source="图片路径")`的方式加载图片资源。 - **backgroundColor 背景色** - **定义**:设置组件的背景颜色。 - **...

    flex的css样式设置

    - `backgroundImage`: 用于设置应用的背景图像,可以使用`Embed()`函数来指定源。 - `backgroundColor`: 设置应用的背景颜色。 - `backgroundGradientColors`: 定义背景的渐变颜色,需要提供两种颜色值,如"color...

    flex 组件的样式属性整理

    - **backgroundImage**: 可以使用 `Embed` 标签来嵌入背景图片。例如:`backgroundImage="{Embed(source='images/bg.png')}"`。 - **backgroundColor**: 设置背景颜色。如:`backgroundColor="#ffffff"`。 - **...

    flex各组件对应的样式属性大全[参照].pdf

    - `backgroundImage`:用于设置应用的背景图像,可以使用`Embed`来嵌入资源。 - `backgroundColor`:设置应用程序的背景颜色。 - `backgroundGradientColors`和`backgroundGradientAlphas`:这两个属性一起用于...

    FlexCss手册

    - **backgroundImage 背景图** - 使用 `Embed(source="");` 来应用背景图像。 - **backgroundColor 背景色** - 设置整个组件的背景颜色。 - **backgroundGradientColors 背景渐变颜色** - 设置背景颜色的渐变效果...

    Application-with-Background:申请表及背景图片

    背景图片的CSS属性为`background-image`,可以设置为URL路径,如`background-image: url("path/to/image.jpg");`。 3. **响应式设计**: - 为了确保在不同设备上都能正常显示,需要考虑响应式设计。可以使用媒体...

    FlexGraphics_V_1.79_D4-XE10.2_Downloadly.ir

    - ADD: Delphi/CBuilder XE4 now supported. - ADD: Delphi/CBuilder XE3 now supported. - ADD: Delphi/CBuilder XE2 now supported. - ADD: Delphi/CBuilder XE now supported. - ADD: Delphi/CBuilder 2010 now ...

    RxLib控件包内含RxGIF,全部源码及DEMO

    TRxDBGrid provides you with the ability to change the background color and font displayed within individual cells and entire rows and columns; save and restore columns order and display width in ini-...

    VB编程资源大全(英文源码 控件)

    &lt;END&gt;&lt;br&gt;4 , vbo_infolabel.zip This control adds a great user-friendly interface with and icon and "Hover" ability. Based on a control seen in ICQ. &lt;END&gt;&lt;br&gt;5 , vbo_checkcombo.zip Add a ...

Global site tag (gtag.js) - Google Analytics