Ширина группы при элементах с отрицательными координатами

#flash #apache-flex #actionscript-3

#flash #apache-flex #actionscript-3

Вопрос:

 <s:Group id="g1">
    <s:Group id="g2" width="100" x="-40"/>
</s:Group>
  

У меня есть группа, которая содержит элементы, размещенные с отрицательными значениями координат. Я хотел бы получить общую ширину группы, включая части элементов, размещенных с отрицательными значениями. В приведенном выше примере g1.width возвращает 60 (100-40), но мне хотелось бы получить значение 100. В приведенном ниже примере g3.width возвращает 0, и все же мне хотелось бы получить значение 100. Как я могу это сделать.

Я отладил приложение, и ни одно свойство g1 или g3 не равно 100.

Я получаю нужные значения, если вместо этого использую класс Box, но как мне получить нужные значения с помощью класса Group?

 <s:Group id="g3">
    <s:Group id="g4" width="100" x="-150"/>
</s:Group>
  

Это упрощенный пример. У меня много дочерних элементов в реальном приложении, поэтому я не могу просто использовать ширину дочернего элемента.

Ответ №1:

Попробуйте использовать свойство contentHeight and contentWidth в контейнере.

Комментарии:

1. Нет. contentWidth выдает те же значения, что и в этом случае, так что это не решение.

2. хм, можно попробовать сделать g3.getBounds(g3).width . Хотя и не тестировалось.

3. На самом деле вы правы. Проблема заключалась в том, что у моих дочерних элементов не было никакого содержимого для отображения. Если я изменю g4 на прямоугольное значение, то получу правильное значение с помощью g3.getBounds(g3).width Другим решением было бы g3.transform.pixelBounds. ширина