Зачем использовать s:Line вместо mx:HRule?

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

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

вместо

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

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

3 ответа

Решение

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

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

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

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

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

<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>

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

редактировать

Джекс победил меня в этом:)

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

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

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

Другие вопросы по тегам