首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

获取Flex 四中Spark Panel的内部容器大小

2012-10-31 
获取Flex 4中Spark Panel的内部容器大小在Flex中,Panel组件是继承于UIComponent的,UIComponent中定义的组

获取Flex 4中Spark Panel的内部容器大小

在Flex中,Panel组件是继承于UIComponent的,UIComponent中定义的组件尺寸信息width和height是对整个控件的宽和高而言,但Panel组件却是带有标题栏和边框,其实际能够装载内容的大小是小于width * height的。

?

于是,在使用Panel的时候,直接定义width和height没有实际意义,需要定义的应该是Panel的内部容器的大小。这篇文章(http://blog.csdn.net/To9m/archive/2009/10/28/4735966.aspx?)介绍了针对Flex 3中的mx:Panel的一种曲线救国的方式(通过viewMetrics.left/right/top/bottom获得左右上下的边框大小,再结合 width和height即可得到内部的实际大小),但在Flex 4的Spark组件中可以简单地通过contentGroup?属性的width和height即可获取。

?

?

示例:

<?xml version="1.0" encoding="utf-8"?><!--  --><s:Application name="Spark_Panel_contentGroup_test"        xmlns:fx="http://ns.adobe.com/mxml/2009"        xmlns:s="library://ns.adobe.com/flex/spark"        xmlns:mx="library://ns.adobe.com/flex/mx">    <s:controlBarContent>        <s:CheckBox id="chckBx" label="Spark Panel controlBarVisible" />    </s:controlBarContent>     <fx:Script>        <![CDATA[            protected function lbl1_enterFrameHandler(evt:Event):void {                lbl1.text = pnl.width + "x" + pnl.height;            }             protected function lbl2_enterFrameHandler(evt:Event):void {                lbl2.text = pnl.contentGroup.width + "x" + pnl.contentGroup.height;            }        ]]>    </fx:Script>     <s:Panel id="pnl"            title="Spark Panel title"            controlBarVisible="{chckBx.selected}"            width="300" height="200"            horizontalCenter="0" verticalCenter="0">        <s:controlBarContent>            <s:Button label="Spark Panel control bar contents" />        </s:controlBarContent>         <mx:Form>            <mx:FormItem label="Panel width/height:">                <s:Label id="lbl1" enterFrame="lbl1_enterFrameHandler(event);" />            </mx:FormItem>            <mx:FormItem label="Panel contentGroup width/height:">                <s:Label id="lbl2" enterFrame="lbl2_enterFrameHandler(event);" />            </mx:FormItem>        </mx:Form>    </s:Panel> </s:Application>

?

示例效果:


获取Flex 四中Spark Panel的内部容器大小

示例代码来自于Flex Examples,原文请见:Determining the inner content dimensions in a Spark Panel container in Flex 4

?

?

1 楼 strugglesMen 2011-05-04   Polygon是flex的扩展类,是用来在flash版 google 地图上画多边形,他好像不是uicomponent组件,那他

为什么有图形界面呢,怎样重写能让Polygon具有effect效果呢?

Polygon继承关系
http://alt.coxnewsweb.com/ajc/swf/_2010_Flash/MapsTest/sdk/docs/com/google/maps/overlays/Polyg

on.html

Polygon详细介绍
http://code.google.com/intl/zh-CN/apis/maps/documentation/flash/reference.html#Polygon

热点排行