O'Reilly logo

Flex 4 Cookbook by Garth Braithwaite, Joshua Noble, Todd Anderson, Marco Casario, Rich Tretola

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 2. Containers

The Flex Framework provides two sets of containers: MX and Spark. The introduction of the Spark architecture to the Flex 4 SDK offers a level of abstraction between containers and layouts not available in the MX architecture. An MX container internally manages the size and position of its children based on specified properties and styles. To modify the layout rules of a MX container, you often create a subclass of a similar container or the base mx.core.Container class and override methods such as updateDisplayList() and measure(). In contrast, Spark containers are separated from layout management and allow for a developer to specify layouts available in the spark.layouts package or create custom LayoutBase-based layouts to manage the size and position of child elements. The separation of responsibilities for Spark containers provides enhanced runtime performance in rendering because layout is handled through delegation.

Included in the Spark layout container architecture are two base classes, GroupBase and SkinnableContainerBase. Both handle visual elements, but only the latter provides skinning capabilities for the container. The spark.components.Group and spark.components.DataGroup classes are extensions of GroupBase; both are non-skinnable containers, but they differ in how child elements are declared and represented on their display lists. A Group container holds children that are implementations of IVisualElement and that are added either through MXML ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required