I have a component based on a spark list with custom item renderers. In the layout I set the variableRowHeight = true.
Looks like it's working but I have a problem (bug?). The last element of the list doesn't have it's own height, it uses the height of the first element.
My list has 3 objects with this heights:
but it renders like this:
This is likely because of virtual layout. If you only have a few items in your List then try setting useVirtualLayout="false" (note that this will decrease performance if you have many items). In the spark List the first item is treated as the typicalItem so another workaround might be to try setting typicalItem such that its renderer size will be an average of the heights of the items in the List.
You can read more about virtual layout in spark here: http://opensource.adobe.com/wiki/display/flexsdk/Spark+Virtualization