Flex 4 Panel Border Skin - PullRequest
       20

Flex 4 Panel Border Skin

1 голос
/ 03 августа 2010

Я пытаюсь создать обложку для искровой панели Flex 4, которая создаст границу на левой / правой стороне панели, которая соответствует заголовку панели. В основном серебряная рамка по всему краю панели похожа на старую панель Flex 3 mx: Panel. Я экспериментировал с файлом скина весь день и не могу заставить что-либо работать. Есть идеи?

1 Ответ

4 голосов
/ 03 августа 2010

Я бросил что-то очень быстро.Создайте скин на основе существующей PanelSkin.Затем найдите группу с id = "contentGroup".Измените его на что-то вроде этого:

        <s:Group  width="100%" height="100%" minWidth="0" minHeight="0">
            <s:Line stroke="{wrapperStroke}" top="0" left="0" bottom="{0}" yFrom="0" yTo="{this.height}" xFrom="0" xTo="0"/>
            <s:Line stroke="{wrapperStroke}" top="0" right="0" bottom="{0}" yFrom="0" yTo="{this.height}" xFrom="0" xTo="0"/>
            <s:Group id="contentGroup">
            </s:Group>
        </s:Group>

Тогда все, что вам нужно сделать, это отодвинуть вашу группу содержимого от краев и придать обводке цвет и вес.Итак, перейдите к updateDisplayList в скине и добавьте немного кода, например:

        wrapperStroke.color = 0xD9D9D9;
        wrapperStroke.alpha = 1.0;
        wrapperStroke.caps = CapsStyle.SQUARE;

        wrapperStroke.weight = 3;
        contentGroup.top = 3;
        contentGroup.bottom = 3;
        contentGroup.left = 3;
        contentGroup.right = 3;

Также просто поместите ваш wrapperStroke в область объявлений следующим образом:

<fx:Declarations>
    <s:SolidColorStroke id="wrapperStroke" />
</fx:Declarations> 

Я жестко закодировал все, кроме васдолжен быть в состоянии легко получить их как стили.Теперь ваша PanelSkin должна выглядеть как this .Я увеличил вес удара, чтобы его было легче увидеть.

...