Apache flex AdobeFlex-如何在图像中嵌入组件;s";窗口;?

Apache flex AdobeFlex-如何在图像中嵌入组件;s";窗口;?,apache-flex,actionscript-3,image,actionscript,Apache Flex,Actionscript 3,Image,Actionscript,我有一张图片,我们叫它“StageSkin.png”。这是一个图像,它实际上只是一个边框,图像的中间是“窗口化”的,这意味着它要显示其中的其他信息。其中的信息以组件的形式存在(基于画布组件,我们称之为“Gauge”) 我想从“StageSkin”图像和其中的“Gauge”组件中创建一个组件,该组件允许我调整组件的大小,而“Gauge”组件位于StageSkin的窗口内。我搜索了这个,得到了下面的代码,但是嵌入的组件只是覆盖了整个图像。我需要做什么 <mx:Style> .ni

我有一张图片,我们叫它“StageSkin.png”。这是一个图像,它实际上只是一个边框,图像的中间是“窗口化”的,这意味着它要显示其中的其他信息。其中的信息以组件的形式存在(基于画布组件,我们称之为“Gauge”)

我想从“StageSkin”图像和其中的“Gauge”组件中创建一个组件,该组件允许我调整组件的大小,而“Gauge”组件位于StageSkin的窗口内。我搜索了这个,得到了下面的代码,但是嵌入的组件只是覆盖了整个图像。我需要做什么

<mx:Style>
    .nineSliceScalingBackground
    {
        background-image: Embed("assets/StageSkin.png",
        scaleGridTop="53", scaleGridBottom="523",
        scaleGridLeft="20", scaleGridRight="485");

        background-size:"100%"; 
    } 
</mx:Style>

.9许可证缩放背景
{
背景图像:嵌入(“assets/StageSkin.png”,
scaleGridTop=“53”,scaleGridBottom=“523”,
scaleGridLeft=“20”,scaleGridRight=“485”);
背景尺寸:“100%”;
} 

组件(及其子组件)是否设置了背景色?如果是这样的话,那么这些可能是在背景图像的顶部绘制的,导致它无法显示。

我不是100%确定这是您的问题,但听起来您只需要填充容器

<mx:Style>
    .nineSliceScalingBackground
    {
        background-image: Embed("assets/StageSkin.png",
        scaleGridTop="53", scaleGridBottom="523",
        scaleGridLeft="20", scaleGridRight="485");

        background-size:"100%";

        paddingTop: 53;
        paddingLeft: 20;
    } 
</mx:Style>

.9许可证缩放背景
{
背景图像:嵌入(“assets/StageSkin.png”,
scaleGridTop=“53”,scaleGridBottom=“523”,
scaleGridLeft=“20”,scaleGridRight=“485”);
背景尺寸:“100%”;
paddingTop:53;
paddingLeft:20;
} 
一件让人恼火的事情是填充对
Canvas
组件不起作用。这意味着您需要使用
Container
作为基类(或者
VBox
/
HBox
,如果您的用例需要的话)

填充确定父对象边缘和子对象边缘之间的空间量


您可能还必须显式设置子元素的
宽度
,以匹配窗口的宽度(585-20=565)。您不能在CSS中执行此操作,但MXML或ActionScript可以工作。您还可以将填充设置为正确,并将组件的宽度设置为100%。

不,它没有设置背景色。图像正在被绘制,但我可以看到在它上面的组件正在被绘制(组件是部分透明的,这就是为什么我可以看穿它)。你的意思是StageSkin.png没有缩放到正确的大小吗?如中所示,它会显示,但不会显示在父组件的宽度/高度处。StageSkin正在调整大小,但嵌入的组件不会停留在StageSkin图像的“窗口”内。(即,在StageSkin图像中有一个窗口,部件应安装在该窗口中)