`
fannyxjf
  • 浏览: 106305 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
社区版块
存档分类
最新评论

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

    博客分类:
  • Flex
阅读更多

在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

 

 

  • 大小: 4.8 KB
0
0
分享到:
评论
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

相关推荐

    Flex4 Spark皮肤

    本篇文章将详细介绍如何利用Flex4中的Spark Skin进行控件样式的自定义。 #### 二、Spark Skin与Skin类的关系 在Flex4中,`spark.skins` 包含了一个核心类 `SparkSkin`。`SparkSkin` 是一个继承自 `Group` 类型的...

    Flex可以拖拽的panel

    在Flex开发中,"Flex可以拖拽的panel"是一个重要的功能点,它允许用户通过鼠标操作将面板(Panel)在界面上自由移动,提升用户体验,尤其是对于需要自定义布局的应用程序来说,这种交互方式非常实用。下面我们将深入...

    Flex4 中文API

    在Flex4中,ActionScript3(AS3)是主要的编程语言,与Flex SDK紧密集成。AS3是ECMAScript的一个子集,拥有更强大的面向对象特性,如类、接口、包和命名空间,这使得它在构建复杂应用程序时更为高效。Flex4中文API...

    Flex程序如何获取html容器传递的URL参数值

    在Flex程序中,获取HTML容器传递的URL参数值,通常涉及到三个关键步骤:从HTML中获取URL参数、使用JavaScript进行中间处理、以及在ActionScript中接收这些参数。这一过程不仅展示了Flex与HTML之间的交互机制,也体现...

    flex4舞台尺寸随浏览器窗口大小改变.rar

    flex4舞台尺寸随浏览器窗口大小改变.rar

    flex4 Spark Intranet Sample App

    本篇将围绕“Flex4 Spark Intranet Sample App”这一示例应用展开,探讨其在企业内网应用中的实践与技术要点。 首先,Spark组件集是Flex4的核心特性之一,它提供了一套完全重写且优化的UI组件,相比以前的 Halo ...

    flex实现的删除子容器

    在前端开发中,Flex布局(Flexible Box)是一种强大的CSS布局模型,它允许开发者轻松地创建弹性容器和子元素,以适应各种屏幕尺寸和设备。在标题"flex实现的删除子容器"中,我们关注的核心是使用Flex布局来管理并...

    flex4中文API帮助文档

    首先,Flex4 API引入了全新的Spark组件架构,相较于Flex3的 Halo 组件,Spark组件更加灵活且性能更优。Spark组件包括一系列基础组件,如Button、Label、Container等,以及更复杂的组件如ListView、Accordion等。这些...

    Flex4中文快速入门

    在《Flex4中文快速入门》这本书中,你将学习到以下关键知识点: 1. **Flex SDK与Flash Builder**:Flex SDK是免费的开发工具包,包含编译器和库,用于创建Flex应用程序。而Flash Builder是一款集成开发环境(IDE)...

    Flex4中文帮助文档

    - **Spark组件**:Flex4引入的新一代组件集,提供了更高的性能和更多的自定义选项,与以前的 Halo组件相比,Spark组件更注重设计和分离的UI组件模型。 2. **Flash Builder 4**: - **集成开发环境**:提供代码...

    flex获得html容器传递的url参数值

    在本文中,我们将深入探讨如何在Flex中获取这些URL参数值。 首先,我们要明白,当我们使用Flex Builder开发应用程序时,编译后的SWF文件会被一个HTML容器包裹,因此在实际运行时,我们实际上是在运行这个HTML文件。...

    flex4 实战 flex4 in action

    在Flex 4中,最重要的变化之一是组件模型的改变,引入了Spark组件架构,它与原有的MX组件架构并行存在,但更注重设计和性能。Spark组件库提供了一套全新的UI组件,这些组件基于Flex 4的皮肤ning机制,允许开发者创建...

    flex 自定义panel

    flex自定义桌面panel,可放大缩小,不会超出桌面大小

    Flex 4的十大变化

    8. **布局管理**:Spark组件架构中的布局系统也得到了改进,提供更精细的布局控制和新的布局容器,以适应复杂应用的需求。 9. **性能提升**:Flex 4通过优化编译器和运行时,提高了应用的性能,特别是在处理大量...

    Flex3与flex4的区别

    同时,Flex4中的布局系统更加智能,能够根据内容自动调整大小,从而提供更好的用户体验。 ### 状态使用 Flex4在状态管理上也有所创新,引入了更强大的状态系统。Flex4的状态系统允许开发者创建复杂的用户界面转换...

    Flex4 一学就会 (Hello Flex4)

    2. 编写MXML文件:在主应用文件(通常是Main.mxml)中,添加Spark的Application组件,设置其宽度和高度,然后添加Label组件,并将文本属性设置为“Hello Flex4”。 3. 运行和调试:在IDE中运行项目,查看浏览器中的...

    Flex4开发实践PPT

    与之前的Flex版本相比,Flex4引入了全新的Spark组件架构,提供了更灵活的样式和皮肤机制,以及更强大的图形渲染能力。 二、Flex4的核心概念 1. MXML:是一种声明式语言,用于创建用户界面布局和组件结构。在Flex4中...

    flex panel窗体有最小化最大化关闭

    Flex Panel 是一种在富互联网应用程序(RIA)开发中常见的组件,尤其在Adobe Flex或Apache Flex框架下使用。它提供了一种灵活的方式,用于在用户界面上创建可自定义的、可调整大小的容器。在标题“flex panel窗体有...

    FLEX4的皮肤skin

    本文将深入探讨FLEX4中的皮肤系统,特别是SparkSkin类,并通过实例展示如何创建和应用自定义皮肤。 1. SparkSkin的介绍: SparkSkin是Flex 4(Gumbo)引入的主要皮肤类,位于`spark.skins`包下。它是一个Group类型...

    flex4自定义组件皮肤

    Flex4是一种基于ActionScript3和Flash Player的开源框架,用于构建富互联网应用程序(RIA)。它提供了丰富的组件库,包括MX和...在实际操作中,确保与Spark组件集兼容,将有助于在Flex4环境中获得更好的性能和体验。

Global site tag (gtag.js) - Google Analytics