Hi guys, I'm trying to work out how to use the Flex 3 constraints to replace a currently hand-coded layout. I'm running into a problem with content-sized constraints: how to have child components that position themselves on a particular constraint but don't actually affect the size of that constraint?
The layout I'm looking for is this (each letter represents a component): A PMT C D Component PMT is the central component: the other components need to be a set distance to the left (A), right (C) or below (D). I've specified the constraints like so: <view:Schematic id="schematic"> (Schematic is a Canvas) <view:constraintColumns> <mx:ConstraintColumn id="pmtLeft"/> (A is specified as right="pmtLeft:0") <mx:ConstraintColumn id="pmtCentre"/> (PMT & D are specified as horizontalCenter="pmtCentre:0") <mx:ConstraintColumn id="pmtRight" /> (C is specified as left="pmtRight:15") </view:constraintColumns> <view:constraintRows> <mx:ConstraintRow id="pmtTop" /> <mx:ConstraintRow id="pmtMiddle" /> <mx:ConstraintRow id="pmtBottom" /> </view:constraintRows> </view:Schematic> So pmtLeft is sized to the width of A, pmtRight to the width of C, and pmtCentre to the width of PMT or D, whichever is greater. The problem is I need pmtCentre to be sized to the width of PMT only, and ignore the width of D. Yet I still need D centred on pmtCentre. I need the content-sized constraints, so PMT can be changed, but I also need D to be able to grow wider than its constraint. I.e. D needs to be centred under PMT but not affect the width of the "pmtCentre" ConstraintColumn. Is this possible? I tried includeInLayout="false" but that didn't do anything. I guess I'm looking for the equivalent of spanCols/spanRows for constraints. Am I missing something or is this a limitation of the enhanced constraints? If it is a limitation then they aren't as useful as claimed... Any alternatives suggested would be welcome too. Cheers, Charlie