Зачем использовать s: Line вместо mx: HRule? - PullRequest
7 голосов
/ 24 мая 2011

При использовании mx: HRule или mx: VRule Flash Builder предлагает вместо этого использовать s: Line .Почему я хотел бы написать что-то вроде этого:

<s:Line xFrom="0" xTo="245" yFrom="0" yTo="1"/>

вместо

<mx:Hrule width="100%" />

Как получить относительные размеры?(В процентах)

Ответы [ 3 ]

15 голосов
/ 24 мая 2011

Поскольку компоненты mx постепенно удаляются для улучшения компонентов Spark с возможностью скиннинга.И почему вы не можете использовать width = 100% с Line?Кстати, этот отрезок не будет ничего показывать, потому что у вас нет набора штрихов.Вот что, я думаю, вы хотите:

<s:Line width="100%">
   <s:stroke>
      <s:SolidColorStroke color="#000000" weight="1" caps="square"/>
   </s:stroke>
</s:Line>

Если вы действительно хотите сделать из него только один тег, вы всегда можете создать новый компонент, назвать его HRule и использовать стиль по умолчанию.

5 голосов
/ 24 мая 2011

Ну, вы бы не хотели писать такие вещи ...

Я бы, наверное, написал это больше так ...

<s:Line width="100%">
            <s:stroke>
                <s:SolidColorStroke caps="none" color="#AF0000" joints="miter" miterLimit="4"
                                    weight="2"/>
            </s:stroke>
            <s:filters>
                <s:BevelFilter angle="45.0" blurX="1" blurY="1" distance="1"
                               highlightAlpha="1.0" highlightColor="#FFFFFF" knockout="false"
                               quality="2" shadowAlpha="1.0" shadowColor="#000000" strength="1"
                               type="inner"/>
            </s:filters>
</s:Line>

Но это действительно ваше дело.Любой из примитивов в форме искры может быть записан с использованием относительного позиционирования и размеров.

edit

Джекс опередил меня:)

2 голосов
/ 08 февраля 2012

У меня была какая-то ошибка с использованием элемента S: Line, она не заполнила все 100% в моем скине.Я заменил его элементом S: SkinableContainer, например так:

<s:SkinnableContainer backgroundColor="Lime" width="100%" height="10"/>

Я обнаружил, что это хорошее решение для меня, и оно также экономит место в коде, как вы упомянули, что вы хотите.

...