Вопрос

У меня есть элемент управления списком, который использует пользовательский itemRenderer и пользовательский itemEditor.ItemRenderer/Editor — это элементы управления текстовой областью, каждый из которых содержит не менее 3 строк текста.

По умолчанию элемент управления списком прокручивается по элементу, а не по некоторому количеству пикселей, как в VBOX.

Я хочу, чтобы мой элемент управления списком больше напоминал текстовый процессор, где прокрутка вниз будет прокручивать одну строку текста за раз.Поскольку каждый элемент списка содержит как минимум 3 строки текста, прокрутка вниз пропускает все три и помещает следующий элемент списка вверху элемента управления списком.

Есть какие-нибудь предложения?

Я пытался придумать, как написать собственный VBOX, который мог бы действовать как список, но я новичок в гибкости — и программирую всего год.....Не совсем уверен, с чего начать.

Спасибо!

Это было полезно?

Решение 2

Я не получил ответа на свой комментарий относительно использования компонента FLex 4 в нашем приложении.

Однако я пришел к выводу, что невозможно создать список с плавной прокруткой и переменной высотой строки, если мои требования представляют собой большой список с множеством элементов управления.

Поскольку элемент управления «Список» не создает экземпляры всех своих элементов одновременно, он не может определить необходимые минимальные и максимальные значения прокрутки на основе общей высоты всех элементов управления.Он может определить эти значения только по КОЛИЧЕСТВУ элементов управления, которые он содержит.Облом :-(

Другие советы

Используйте элемент управления Spark List из Flex 4 (доступна бета-версия).Его интерфейс «Скроллер» гораздо более гибкий.

У меня была аналогичная проблема с использованием средства рендеринга элементов с текстом и большим пальцем.Решил эту проблему, заставив список отображать ВСЕ свои элементы перед отображением, обернув список внутри скроллера и группы и отключив прокрутку внутри самого списка.Убедитесь, что вы не указали высоту списка — пусть это сделает flex.

Мой код:(почему-то мне пришлось заключить скроллер в группу, чтобы он работал)

<s:Group width="100%"  height="100%">
  <s:Scroller width="100%" height="100%" horizontalScrollPolicy="off" id="listScroll">
    <s:Group width="100%" height="100%">
      <s:List dataProvider="{arrData}" itemRenderer="renderers.ListingItemRenderer"
        verticalScrollPolicy="off" click="listingSelected()" width="100%" />
    </s:Group>
  </s:Scroller>
</s:Group>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top