0

我正在尝试在 flex 4 中为我的 fxg 形状 (shapes:munch2 id="paper") 的边缘添加一个粗边框来表示出血区域。

请任何人都可以提出一种方法来做到这一点,我需要用可变宽度来做,而不是在我绘制 fxg 时设置它

谢谢大卫

<?xml version="1.0" encoding="utf-8"?>
<s:Module xmlns:fx="http://ns.adobe.com/mxml/2009" 
          xmlns:s="library://ns.adobe.com/flex/spark" 
          xmlns:mx="library://ns.adobe.com/flex/mx"
          xmlns:shapes="fxgGraphics.shapes.*"
          width="100%" height="100%">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    <fx:Style>
        @namespace s "library://ns.adobe.com/flex/spark";
        @namespace mx "library://ns.adobe.com/flex/mx";
        @namespace shapes "fxgGraphics.shapes.*";

        #paper {
            border: 3px solid #ff6600;
        }
    </fx:Style>
    <shapes:munch2 id="paper" width="100%" height="100%" horizontalCenter="0" verticalCenter="0" />
</s:Module>
4

1 回答 1

0

FXG 资源针对显示图形进行了优化,不支持 CSS 样式或 Flex 组件所做的许多其他事情。

此外,Flex 不支持您用来设置边框的速记语法。与 HTML 中的 CSS 相比,Flex 中的 CSS 相当有限。

一个简单的解决方案是将您的 FXG 资产包装在另一个 Flex 组件中,例如BorderContainer. 然后您可以将边框应用于容器对象:

<s:BorderContainer borderColor="#ff0000" borderWeight="2" cornerRadius="6">
    <local:MyFxgAsset />
</s:BorderContainer>

样式属性borderColor,borderWeight等也可以通过 CSS 应用(但不使用速记/组合语法)。

于 2013-04-05T15:42:53.550 回答