#apache-flex #actionscript-3 #flex4
#apache-flex #actionscript-3 #flex4
Вопрос:
У меня есть SkinnableContainer, к которому я хотел бы добавить границу. Я уже создал класс оболочки, который успешно создает границу в 1 пиксель вокруг всех четырех сторон контейнера, однако я хотел бы, чтобы граница была только для верхней и нижней части контейнера, а не для сторон (левой, правой). Как я могу добиться такой вещи? Я прикрепил свой текущий класс оболочки. Пожалуйста, помогите! Заранее спасибо.
<?xml version="1.0" encoding="utf-8"?>
<!-- containerssparkmySkinsMyBorderSkin.mxml -->
<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:s="library://ns.adobe.com/flex/spark" >
<fx:Metadata>
[HostComponent("spark.components.SkinnableContainer")]
</fx:Metadata>
<!-- Define the skin states. -->
<s:states>
<s:State name="normal" />
<s:State name="disabled" />
</s:states>
<!-- Define a Rect to fill the area of the skin. -->
<s:Rect x="0" y="0"
height="100%" width="100%">
<s:stroke>
<s:LinearGradientStroke weight="1"/>
</s:stroke>
</s:Rect>
<!-- Define the content area of the container. -->
<s:Group id="contentGroup"
left="5" right="5" top="2" bottom="2">
<s:layout>
<s:VerticalLayout/>
</s:layout>
</s:Group>
</s:Skin>
Ответ №1:
Используйте что-то вроде:
<s:Line left="0" top="0" right="0">
<s:stroke>
<s:LinearGradientStroke weight="1"/>
</s:stroke>
</s:Line>
<s:Line left="0" bottom="0" right="0">
<s:stroke>
<s:LinearGradientStroke weight="1"/>
</s:stroke>
</s:Line>
вместо вашего Rect
объявления.