Flex: список с плавной прокруткой типа VBOX? - PullRequest
0 голосов
/ 14 января 2010

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

Скроллинг по умолчанию для элемента управления списком осуществляется по Item, а не по некоторому количеству пикселей, как VBOX прокручивает.

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

Есть предложения?

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

Спасибо!

Ответы [ 3 ]

0 голосов
/ 15 января 2010

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

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

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

0 голосов
/ 09 декабря 2014

У меня была похожая проблема с использованием средства визуализации элементов с текстом и большим пальцем. Решил его, заставив список отображать ВСЕ его элементы перед отображением, обернув список внутри скроллера и группы и отключив прокрутку внутри самого списка. Убедитесь, что вы не указали высоту списка - пусть это сделает 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>
0 голосов
/ 14 января 2010

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

...