0

这应该很容易,但我不知道如何使用 Flex Path 原语相对于其父容器缩放路径。假设我有一个 20x20 像素的按钮,并且在 Skin 中有以下图形元素(例如一个简单的三角形):

    <s:Path
        data="M 0 20 L 0 0 L 20 0 L 0 20"
        width="100%" height="100%">
        <s:stroke>
            <s:SolidColorStroke color="0x00000" weight="1"/>
        </s:stroke>
    </s:Path>

路径使用 0 和 20,以便三角形是按钮的完整大小。我希望路径始终是按钮大小的 100%:例如,如果按钮是 40x20,则路径应相应缩放。

路径数据属性不接受百分比值。如何指定路径数据中的“20”是容器宽度或高度?

4

1 回答 1

1

看这个:

在此处输入图像描述

这是我的 MXML:

<s:Button label="Hello" width="70" height="40" skinClass="assets.skin.MySkin"/>
<s:Button label="Hello" width="170" height="40" skinClass="assets.skin.MySkin"/>
<s:Button label="Hello2" width="170" height="270" skinClass="assets.skin.MySkin2"/>

两种皮肤之间的唯一区别是“s:Graphic”标签的“宽度”和“高度”:

//MySkin.mxml

...
<s:Graphic>
    <s:Path data="M 0 20 L 0 0 L 20 0 L 0 20">
        <s:stroke>
            <s:SolidColorStroke color="0x00000" weight="1"/>
        </s:stroke>
    </s:Path>
</s:Graphic>
...

//MySkin2.mxml

...
<s:Graphic width="100%" height="100%">
    <s:Path data="M 0 20 L 0 0 L 20 0 L 0 20">
        <s:stroke>
            <s:SolidColorStroke color="0x00000" weight="1"/>
        </s:stroke>
    </s:Path>
</s:Graphic>
...
于 2013-09-12T07:09:04.130 回答