Flex: вертикальный разрыв между элементами списка не работает - PullRequest
1 голос
/ 18 марта 2010

У меня есть элемент списка с кнопками, вот так:

<mx:List contentBackgroundAlpha="0" baseColor="0x333333" leading="10"  id="weekButtonList"  width="260" borderVisible="false"  dataProvider="{_data.mappoints.week.@number}" itemClick="onWeekClick(event);" >
                <mx:itemRenderer  >
                    <mx:Component>
                        <mx:Button  buttonMode="true"  width="260" height="50" label="Week {data}"  />
                    </mx:Component>
                </mx:itemRenderer>
            </mx:List>

Независимо от того, что я делаю, эти кнопки имеют вертикальный зазор между ними. Я перепробовал все, от установки свойства «вертикальный зазор» до отрицательных и положительных чисел, а также заменив их сверху и снизу. Я хочу, чтобы кнопки были прямо напротив друг друга. Я также пробовал "button-height" и отступ для компонента List ... все еще ничего. Как мне это контролировать?

Ответы [ 3 ]

7 голосов
/ 18 марта 2010

Если вы можете построить проект в flex4, а не в 3.x, применимо следующее решение:

в вашем файле приложения:

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" 
           xmlns:mx="library://ns.adobe.com/flex/halo" minWidth="1024" minHeight="768">

<s:List contentBackgroundAlpha="0" baseColor="0x333333" id="weekButtonList"  width="260" borderVisible="false" itemRenderer="ListButton">
    <s:layout>
        <s:VerticalLayout gap="0">
        </s:VerticalLayout>
    </s:layout>
    <s:dataProvider>
        <s:ArrayList>
            <fx:Array>
                <fx:Object label="No Gap" />
                <fx:Object label="No Gap" />
                <fx:Object label="No Gap" />
                <fx:Object label="No Gap" />
                <fx:Object label="No Gap" />
                <fx:Object label="No Gap" />
                <fx:Object label="No Gap" />
                <fx:Object label="Still No Gap" />
            </fx:Array>
        </s:ArrayList>
    </s:dataProvider>
</s:List>

в ListButton.mxml

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

<s:Button label="{data.label}" />

Если опция flex 4 является опцией, я настоятельно рекомендую сделать это.

2 голосов
/ 18 марта 2010

Попробуйте установить кнопки paddingTop и paddingBottom на 0

1 голос
/ 11 августа 2011

Чтобы добавить ответ Грега, некоторые макеты используют вертикальный и горизонтальный разрыв, где это применимо.

<s:List>
    <s:layout>
        <s:TileLayout verticalGap="-2" />
    </s:layout>
</s:List>

Я думаю, что по умолчанию 0 (ноль)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...