Интеграция переполненных ссылок в динамическое выпадающее меню в конце списка меню

Как мне создать горизонтальный список ссылок, чтобы переполненные ссылки все еще были доступны через динамическое выпадающее меню в конце списка?

Я хочу иметь возможность создавать список ссылок (или кнопок) таким образом, чтобы при достаточном горизонтальном пространстве отображались все ссылки. Если горизонтального пространства недостаточно, переполненные ссылки появятся в раскрывающемся меню в конце списка ссылок. Я использую Flex SDK 4.5.1.

Это желаемое поведение показано ниже.

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

Как создать горизонтальный список ссылок, чтобы переполненные ссылки были доступны через раскрывающийся список в конце основного списка

2 ответа

Решение

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

Я создал пользовательский компонент на основе искры BorderContainer, Компоновка компонентов примерно такая:

-- BorderContainer
  -- Scroller
    -- Group
      -- DataGroup
      -- Button
      -- PopUpAnchor
        -- Group
        -- Rect
        -- DataGroup

Первый DataGroup содержит основной список предметов. Это те, которые отображаются горизонтально. Переопределением updateDisplayList в пользовательском компоненте я могу измерить каждый элемент в DataGroup и определить, будет ли он вписываться в доступную область. Те, которые не подходят, делаются невидимыми (не удаляются) и добавляются в список не показывать.

Эти элементы в списке не отображаются добавляются ко второму DataGroup, Это выпадающий список. Завершение этого DataGroup в PopUpAnchor позволяет мне добавить выпадающее меню, как поведение. Button используется, чтобы открыть и закрыть второй DataGroup,

Другие вопросы по тегам