#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. ширина