专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Flex

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

发布时间:2011-06-27 19:47:39 文章来源:www.iduyao.cn 采编人员:星星草
获取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 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
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: