我一直在使用flex圖表組件,並且想要在圖例中嵌入標記的自定義圖標。我遇到了一些奇怪的行爲,如果直接設置圖標是鏡像的,文本未對齊,但如果使用類工廠和legendMarkerRenderer屬性創建,組件呈現正常。我已經包含一個片段來說明下面的問題。靈活圖表中LegendItem的自定義嵌入標記
解決這個問題可能是可能的,但我很好奇,如果任何人有一個解釋,可能會發生在這裏。
附加信息:的Flex SDK 4.5.0.20967,FlashBuilder 4.5
這是下面的代碼片段的輸出:
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Script>
<![CDATA[
import mx.charts.LegendItem;
[Embed(source="/resources/GraphResetIcon.png")]
public static var icon:Class;
]]>
</fx:Script>
<s:layout>
<s:VerticalLayout/>
</s:layout>
<!-- This works fine -->
<mx:LegendItem legendMarkerRenderer="{new ClassFactory(icon)}" markerAspectRatio="1"
labelPlacement="right" label="Texty texty" markerHeight="11" markerWidth="11" />
<!-- This does not work -->
<mx:LegendItem marker="{new icon()}" markerAspectRatio="1" labelPlacement="right"
label="Texty texty" markerHeight="11" markerWidth="11" />
</s:Application>
儘管我仍然不知道爲什麼直接將圖像嵌入到標記中不起作用,但我發現了一種解決方法,即在圖像中嵌入嵌入並將圖像設置爲標記將使佈局功能正確。 – Gizmo490