这应该很简单,但我无法弄清楚如何使用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,以便triange是按钮的完整大小。 我希望Path始终是按钮大小的100%:例如,如果按钮是40x20,则应相应地缩放路径。
路径数据属性不接受百分比值。如何在路径数据中指定“20”是容器宽度还是高度?
答案 0 :(得分: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>
...