Flex编程注意之clipContent

来源:互联网 发布:淘宝上的降头有谁试过 编辑:程序博客网 时间:2024/06/06 19:51
在做Flex项目的时候,碰到了一个修改,具体请看下面的原型图:
 
 
 
在做Flex项现在需要的一个这样的方式,用鼠标对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。
以上,希望会对大家有所帮助:)
目的时候,碰到了一个修改,具体请看下面的原型图:

本文出自 “我的博客” 博客,请务必保留此出处http://wonlen.blog.51cto.com/939068/204636

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 威志油耗高怎么办 佳美2.4油耗大怎么办 笔记本电脑按键坏了怎么办 电视主板坏了怎么办 面包车电量亏电怎么办 自动挡汽车亏电怎么办 自动挡亏电了怎么办 面包车打不起火怎么办 汽车电瓶亏电怎么办 小车电池没电怎么办 汽车电瓶有电打不着火怎么办 汽车电瓶没电打不着火怎么办 汽车电池没电打不着火怎么办 汽车电瓶亏电打不着火怎么办 自动挡电瓶没电打不着火怎么办 自动挡车子没电打不着火怎么办 自动挡汽车没电打不着火怎么办 自动挡汽车有电打不着火怎么办 p0846骐达故障怎么办 汽车冷却液漏了怎么办 冷却液管子漏了怎么办 电脑网络不可用怎么办 手表带子坏了怎么办 这几天生意不好怎么办 大学不想住宿舍怎么办 在北京买车后被骗怎么办 联通套餐不到期怎么办 联通全国流量包怎么办 缤智车钥匙丢了怎么办 车遮阳板松了怎么办 洗车把内饰划了怎么办 新车销售没销量怎么办 住院时间重叠了怎么办 长安cs75油耗高怎么办 墙内线烧了怎么办 如果没买票想进高铁站怎么办 老赖拒绝还款怎么办 gta5资产不兼容怎么办 平板黑屏闪退怎么办 施工证学历不够怎么办 隧道放炮声大怎么办