Flex clipContent 编程注意


现在需要的一个这样的方式,用鼠标对C进行Drag操作。使它可以在A中任意移动,但是由于C是包含在B中,因此使用startDrag() 和 stopDrag()的时候,只能在B区域中进行移动,而无法超出B的边界。
如果我们想让C在A中移动的话,那么就应该使用一个叫做clipContent的属性了。

以下是这个属性的定义:
Whether to apply a clip mask if the positions and/or sizes of this container's children extend outside the borders of this container.

它的中文含义大致是:
如果此容器的子项的位置和/或大小扩展到此容器的边框之外,是否应用剪裁遮罩。

clipContent值:
True:当子项目的边界超出此容器时,不显示子项目在此容器中。
Flase:当子项目的边界超出此容器时,显示子项目在此容器中。

clipContent是Container中的一个public propertie。因此Flex常用的一些容器类控件:
Accordion, Box, Canvas, Form, FormItem, LayoutContainer, Panel, Tile, ViewStack 全部都可以使用这个属性。

即我们在B中,设定clipContent = false,这样就可以实现我们的要的效果了,当C在移动的时候,如果遇到了D,则会在D的下面,那么这是怎么回事呢?
因为在coding这个结构的时候,D的z-index就比B的高,因此C移动的时候,会被D遮挡住(虽然C可以在A中任意位置进行移动)

所以我们做如下的设定:
将B的z-index,放置到D的z-index上面即可。而我们使用的方式就是:setChildIndex(这个method是很常用的,因此我就不在这里进行复述了。)

因此如果在一个很复杂的嵌套的容器中,如果要移动其中一个子容器在最外层容器中时,应作如下的设定:
1、将要移动的子容器的父容器(当然这个父容器之上可能还会有父容器的)要在需要移动容器中处于最上层显示。
例如:A → B → C → D → E
F→ G → H
如果想要移动E在A中,那么就需要B在F的上面,即使用setChildIndex来重新设定B与F的位置。
2、需要将D容器的clipContent设定为false。

以上,希望会对大家有所帮助:)

(0)

相关推荐

  • Flex clipContent 编程注意

    现在需要的一个这样的方式,用鼠标对C进行Drag操作.使它可以在A中任意移动,但是由于C是包含在B中,因此使用startDrag() 和 stopDrag()的时候,只能在B区域中进行移动,而无法超出B的边界. 如果我们想让C在A中移动的话,那么就应该使用一个叫做clipContent的属性了. 以下是这个属性的定义: Whether to apply a clip mask if the positions and/or sizes of this container's children e

  • Flex 编程注意之Flex Complier参数

    在介绍这些参数之前,先要介绍一个工具:mxmlc.exe. mxmlc是Flex SDK里面的一个重要的工具:编译器,也就是无论是Flash Builder(Flex Builder) IDE.还是plug-in形式的Flash Builder(Flex Builder)在编译Flex Project的时候,都会自动调用mxmlc来完成我们的编译任务. 而由于Adobe那边可以直接下载Flex SDK,因此如果是此种方式的话,则需要手动编译你的MXML文件了. mxmlc.exe的地址: Fle

  • Flex 编程注意之性能优化、垃圾回收的一些总结

    以下的内容是某个QQ群中得到的,我经过了一些整理和补充,希望对大家有所帮助. 注意:以下内容不是我原创的,请勿擅自转载,本文只是用作记录和总结.:) 垃圾回收的一些知识总结: 1.被删除对象在外部的所有引用一定要被删除干净才能被系统当成垃圾回收处理掉. 2.父对象内部的子对象被外部其他对象引用了,会导致此子对象不会被删除,子对象不会被删除又会导致了父对象不会被删除. 3.如果一个对象中引用了外部对象,当自己被删除或者不需要使用此引用对象时,一定要记得把此对象的引用设置为null. 4.本对象删除

  • flex编程动态生成图像

    要动态生成图像必需先把记录转为图像处理所需的格式,以下是处理类 复制代码 代码如下: package emtit.utils { import mx.charts.CategoryAxis; import mx.charts.series.ColumnSeries; import mx.charts.series.PieSeries; import mx.collections.ArrayCollection; /** * author:黄建文 * data:2008-12-03 * 图形数据转

  • VB编程的八个优良习惯第1/2页

    VB编程的八个优良习惯 1."&"替换"+"  2.变量命名大小写,语句错落有秩,源代码维护方面  3.请养成以下的"对象命名约定"良好习惯 4.在简单的选择条件情况下,使用IIf()函数  5.尽量使用Debug.Print进行调试  6.在重复对某一对象的属性进行修改时,尽量使用With....End With  7.MsgBox中尽量使用消息图标,这样程序比较有规范  8.在可能的情况下使用枚举 1."&"

  • flex是什么 Flex介绍

    flex通常是指Adobe Flex,是最初由Macromedia公司在2004年3月发布的,基于其专有的Macromedia Flash平台,它是涵盖了支持RIA(Rich Internet Applications)的开发和部署的一系列技术组合.flex的另一个意思是一款生成扫描器的工具,能够识别文本中的词法模式. flex简介 Flex 是一个高效.免费的开源框架,可用于构建具有表现力的 Web 应用程序,这些应用程序利用 Adobe Flash Player和 Adobe AIR, 运行

  • 关于学习 Flex 的一点建议(转载)

    Flex是什么?RIA(Rich Internet Applications).Flex 是 Macromedia发布的presentation server(展现服务),它是java web container或者.net server的一个应用,根据.mxml文件(纯粹的xml描述文件和actionscript)产生相应得.swf文件,传送到客户端,由客户端的flash player或者shockwave player解释执行,给用户以丰富的客户体验.说这么多,还不如看实例: 苹果树下:ht

  • Macromedia Flex 标记语言简介

    Macromedia Flex 标记语言简介      Macromedia Flex(开发代号为Royale)是一个展现服务器,开发者可以用它来开发新一代的"复杂Internet应用"(RIAs - Rich Internet Applications).复杂Internet应用融合了桌面应用的可用性和web应用的易于管理的优点. Flex是一个在J2EE应用服务器或servlet容器安装的展现服务器.它拥有丰富的用户界面组件.用于排布这些组件的基于XML的标记语言,以及可以处理用户

  • Flex 实现可以拖动的毛玻璃效果

    复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" clipContent="true" verticalScrollPolicy="off" horizontalScro

  • Flex 3 布局容器学习笔记 整理

    很好的文章Flex3 界面布局教程 (1) http://www.jb51.net/article/20349.htmFlex3 界面布局教程 (2) http://www.jb51.net/article/20350.htmFlex 组件的定位和布局 http://www.adobe.com/cn/devnet/flex/quickstart/layout_modes/ Using Layout Containers http://livedocs.adobe.com/flex/3/html/

随机推荐