Yes, but that doesn't look so good and wastes real estate. I think I
can live with the overlay, given the padding I have.

On Wed, Jul 23, 2008 at 12:15 AM, Alex Harui <[EMAIL PROTECTED]> wrote:
> If you set verticalScrollPolicy="on" then the scrollbars will be factored in
>
>
>
> ________________________________
>
> From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
> Behalf Of Josh McDonald
> Sent: Tuesday, July 22, 2008 10:13 PM
> To: flexcoders@yahoogroups.com
> Subject: Re: [flexcoders] Measurement and scrolling
>
>
>
> The only way to not have scrollbars over the content (or to only have
> vertical, but not all the time) is to do scrollbar management yourself
> rather than relying on Flex's inbuilt methods of handling it. This is a
> decision made by the Flex team to avoid having to double measure() stuff
> when adding scrollbars to a container.
>
> -Josh
>
> On Wed, Jul 23, 2008 at 3:02 PM, Richard Rodseth <[EMAIL PROTECTED]> wrote:
>
> Below is code for a scrolling container of one child - a highly
> simplified version of the tiling container I've been wrestling with
> off and on for way too long now. The component below sizes the
> first/only child to fit within it, with some padding, but respects the
> minimums of the child, adding scroll bars if necessary.
>
> I discovered this evening that setting measuredMinWidth/Height in the
> measure() method was what was messing things up. With that removed,
> this component (and the more complex tiler) behaves properly, except
> that the scollbars are drawn over the right/bottom padding.
>
> What is the appropriate way to compensate for that? Adding a fudge
> factor to the measured values, or removing it from the value passed to
> setActualSize in UDL had no effect at all.
>
> Thanks, I'm *really* close now...
>
> - Richard
>
>
>        public class MyContainer extends Container
>        {
>                private static const PADDING:Number = 10;
>
>                public function MyContainer()
>                {
>                        super();
>                }
>
>
>                override protected function measure():void
>                {
>                        var child:UIComponent = this.getChildren()[0] as
> UIComponent;
>
>                        var childWidth:Number =
> child.getExplicitOrMeasuredWidth();
>                        var childHeight:Number =
> child.getExplicitOrMeasuredHeight();
>
>                        measuredWidth = childWidth + 2 * PADDING ;
>                        measuredHeight = childHeight + 2 * PADDING ;
>                }
>
>
>                override protected function
> updateDisplayList(unscaledWidth:Number,
> unscaledHeight:Number):void
>                {
>                super.updateDisplayList(unscaledWidth, unscaledHeight);
>
>                var child:UIComponent = this.getChildren()[0] as UIComponent;
>
>                        var newWidth:Number = Math.max(unscaledWidth - (2 *
> PADDING) ,
> child.minWidth);
>                        var newHeight:Number = Math.max(unscaledHeight - (2 *
> PADDING) ,
> child.minHeight);
>
>                child.setActualSize(newWidth, newHeight);
>                child.move(PADDING, PADDING);
>        }
>        }
> }
>
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
>        layout="absolute" minHeight="0" minWidth="0"
>        verticalScrollPolicy="off" horizontalScrollPolicy="off"
>        xmlns:comp="comp.*"
>        >
>
>        <comp:MyContainer  width="95%" height="95%" borderStyle="solid"
> horizontalScrollPolicy="auto" verticalScrollPolicy="auto">
>                <mx:Button label="400x400" minWidth="400" minHeight="400"/>
>        </comp:MyContainer>
>
> </mx:Application>
>
> ------------------------------------
>
> --
> Flexcoders Mailing List
> FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> Search Archives:
> http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups Links
>
>
>
>
> --
> "Therefore, send not to know For whom the bell tolls. It tolls for thee."
>
> :: Josh 'G-Funk' McDonald
> :: 0437 221 380 :: [EMAIL PROTECTED]
>
> 

Reply via email to