2013-11-14 90 views
0

我已经使用皮肤类创建了具有背景图像的应用程序。我想在应用程序中的图像顶部显示一些图像。能否请你建议如何做到这一点Flex 4中 代码是在这里:在背景图像顶部显示另一图像4

BackGroundImageskin: -

<fx:Metadata> 
    [HostComponent("spark.components.supportClasses.SkinnableComponent")] 
</fx:Metadata> 
<s:states> 
    <s:State name="normal" /> 
    <s:State name="disabled" /> 
</s:states> 
<s:BitmapImage source="@Embed('Img/asianwoman.jpg')" left="0" right="0" top="0" bottom="0" smooth="true"/> 

主要应用: -

<fx:Declarations> 
    <!-- Place non-visual elements (e.g., services, value objects) here --> 
</fx:Declarations> 

     <s:Group visible="true"> 
      <mx:Image source="Img/News1.png" visible="true" /> 
      <s:Button label="My Button"/> 
     </s:Group> 

这里New1.png不显示,只背景图像显示

+0

后整个皮肤。我怀疑你将contentGroup放置在皮肤类中的背景图像的下面。 – drkstr1

+0

没有在bitmapImage之后,皮肤类在关闭状态。没有添加contentGroup。 – Ravikanth

+0

你的皮肤需要一个contentGroup,否则它不会显示任何子元素。我会建议复制默认的皮肤,并添加你的背景。 – drkstr1

回答

0

使用此对你的皮肤(假设标准的Web应用程序):

<s:Skin xmlns:fb="http://ns.adobe.com/flashbuilder/2009" xmlns:fx="http://ns.adobe.com/mxml/2009" 
    xmlns:s="library://ns.adobe.com/flex/spark" alpha.disabled="0.5" alpha.disabledWithControlBar="0.5"> 

<fx:Metadata> 
    <![CDATA[ 

    [HostComponent("spark.components.Application")] 
]]> 
</fx:Metadata> 


<s:states> 
    <s:State name="normal" /> 
    <s:State name="disabled" /> 
    <s:State name="normalWithControlBar" /> 
    <s:State name="disabledWithControlBar" /> 
</s:states> 

<s:BitmapImage top="0" left="0" bottom="0" right="0" source="@Embed('img.jpg')" smooth="true" /> 

<s:Group top="0" left="0" bottom="0" right="0"> 
    <s:layout> 
     <s:VerticalLayout horizontalAlign="justify" gap="0" /> 
    </s:layout> 

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

     <!-- layer 0: control bar highlight --> 
     <s:Rect top="0" left="0" bottom="1" right="0"> 
      <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 top="1" left="1" bottom="2" right="1"> 
      <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 height="1" left="0" bottom="0" right="0" 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" top="1" left="0" bottom="1" right="0" minHeight="0" minWidth="0"> 
      <s:layout> 
       <s:HorizontalLayout paddingBottom="7" paddingLeft="10" paddingRight="10" paddingTop="7" gap="10" /> 
      </s:layout> 
     </s:Group> 
    </s:Group> 

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

</s:Group> 

</s:Skin> 
+0

bgRectFill在这里是什么?它是哪个实例?如果它是的id,则颜色和alpha属性属性是未定义的。 – Ravikanth

+0

: - 谢谢,它现在工作正常。 :) – Ravikanth

+0

在这里,如果我点击图片,它将如何去google.com网站? – Ravikanth