Search code examples
apache-flexactionscript-3resizescaleuicomponents

Scaling and resizing flex component


I have custom flex component inherited from UIComponent (compiled, no source code access). It has fixed width-to-height proportions and it's scalable. If I set its width and height to 100%, it's trying to fit parent's size, but it keeps width-to-height proportion, so if it's proportion does not equal parent's proportion, there can appear empty space near this component when resizing parent.enter image description here

What I need, is to fit my component completely to parent's size. Is there any nice way to do this? I could listen to parent's resize event, and play with component's scaleX and scaleY, but may be any better way exists to solve my problem (any property?). Thanks.


Solution

  • A great way is to use greensock's AutoFitArea. Coding is as simple as the following

    var area:AutoFitArea = new AutoFitArea(this, 50, 70, 300, 100);
    area.attach(myImage, {scaleMode:ScaleMode.PROPORTIONAL_OUTSIDE, crop:true});
    

    which would constrain whatever is inside do the given dimensions (300,100) from there on out, you can just change the area's width and that will figure it all out for you.

    hope it helps