Ширина гибкого компонента - PullRequest
0 голосов
/ 05 августа 2011

Я создал ItemRenderer для компонента Spark List со следующим кодом:

<?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/mx"
                autoDrawBackground="true">

    <s:RichText left="10" top="10" bottom="10" paddingBottom="0" paddingLeft="0"
                paddingRight="0" paddingTop="0" text="{data[1].toString()}" textAlign="left"
                verticalAlign="middle" width="{parentDocument.width*0.96}"/>

</s:ItemRenderer>

Проблема в том, что при передаче слишком большого объема данных контроллер списка отображает полосы прокрутки.Добавление right="10" не работает.Мне нужен способ, чтобы полосы прокрутки отсутствовали в любом размере (это приложение AIR).

Ответы [ 5 ]

0 голосов
/ 09 августа 2011

Этот код сделал работу.

        protected function ItemRenderer_Init(event:FlexEvent):void {
            setInterval(ResizeRenderer, 50);
        }

        private function ResizeRenderer():void {
            richtext.width = parentApplication.width-535;
        }
0 голосов
/ 05 августа 2011

Также вам следует рассмотреть возможность установки свойства maxWidth вашего рендерера, чтобы оно не стало больше, чем ваш список.

0 голосов
/ 05 августа 2011

Говоря о RichText (и полосах прокрутки внутри itemrenderer), установка minHeight="0" и minWidth="0" в RichText может решить проблему - текст будет обрезан.variableRowHeight="true" в List сделает itemRenderers их собственным вычисленным размером.

Если вы хотите, чтобы List всегда показывал все свои элементы, попробуйте привязать rowCount к вашей dataProvider длине, скажем rowCount="{Math.max(arrayOfDataToDisplay.length, 5)}".

0 голосов
/ 05 августа 2011

Судя по комментариям к оператору, у вас возникла проблема с тем, как вы выкладываете средство визуализации элементов.

  1. Установите percentWidth вашего средства визуализации элементов на 100 (или *)1005 *)
  2. Установите percentWidth вашего RichText на 100 (опять же, вы можете использовать width=100%)
  3. Снять ограничения left, top и bottom.

Эти два шага должны избавить вас от проблемы с горизонтальной полосой прокрутки.Если это продолжается, вы можете попробовать ядерную опцию и установить horizontalScrollPolicy=off на вашем List.

0 голосов
/ 05 августа 2011

Компонент List состоит из самой полосы прокрутки. Вы можете использовать DataGroup (такой же входной параметр, как itemRenderer = "" и dataProvider = "" с List ), и не забывать установить параметр clipAndEnableScrolling = "true" .

Этот способ также вводит новую потенциальную проблему. Когда у вас большой объем данных, вы не можете прокручивать вверх и вниз автоматически. Однако вы можете прослушать mouseEvent, чтобы сделать это вручную, или добавить настраиваемый ScrollBar в любом месте вашего приложения (set viewport = "yourDataGroup").

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