Astraport
14.10.2012, 16:18
Нужно сделать группу c растровым фоном который ресайзится как 9 grid, но при этом окружает Label в зависимости от занимаемого текстом пространства. Пробовал несколько способов, все неудачные. Последний: для SkinnableContainer создается скин.
<?xml version="1.0" encoding="utf-8"?>
<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Metadata>
[HostComponent("spark.components.SkinnableContainer")]
</fx:Metadata>
<fx:Script>
<![CDATA[
[Embed(source="assets/images/doc_bubble.png", scaleGridTop="25", scaleGridBottom="141", scaleGridLeft="87", scaleGridRight="563" )]
[Bindable] public var bgImage:Class;
]]>
</fx:Script>
<s:states>
<s:State name="disabled" />
<s:State name="normal" />
</s:states>
<s:BitmapImage id="img" fillMode="clip" source="{bgImage}" scaleMode="stretch"/>
<s:Group id="contentGroup">
<s:layout>
<s:VerticalLayout horizontalAlign="center" verticalAlign="middle"/>
</s:layout>
<s:Label id="lbl" text="zxcz zxc xcz zxc" width="100%"/>
</s:Group>
</s:Skin>
<?xml version="1.0" encoding="utf-8"?>
<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Metadata>
[HostComponent("spark.components.SkinnableContainer")]
</fx:Metadata>
<fx:Script>
<![CDATA[
[Embed(source="assets/images/doc_bubble.png", scaleGridTop="25", scaleGridBottom="141", scaleGridLeft="87", scaleGridRight="563" )]
[Bindable] public var bgImage:Class;
]]>
</fx:Script>
<s:states>
<s:State name="disabled" />
<s:State name="normal" />
</s:states>
<s:BitmapImage id="img" fillMode="clip" source="{bgImage}" scaleMode="stretch"/>
<s:Group id="contentGroup">
<s:layout>
<s:VerticalLayout horizontalAlign="center" verticalAlign="middle"/>
</s:layout>
<s:Label id="lbl" text="zxcz zxc xcz zxc" width="100%"/>
</s:Group>
</s:Skin>