在某种情况下我们会需要实现如下应用情景:有两个图片或者是控件重叠,然后当我们的鼠标滑过或者是点击的时候某一个图片或控件时,被触发的图片或者会显示在顶层,以免被被遮住。
一般情况下,MXML和HTML,都是默认按照代码出现的先后顺序来排列控件的层次的,问题是我们一般会在运行的时候动态变换图片或控件的层次的,这样就不能依靠代码出现的先后顺序了,HTML是通过CSS样式的z-index来控制,但是在Flex里好像没有相对应的属性或者是方法来控制控件的层次先后关系。
不过我们可以自己手工用代码实现。
我们先来看一些类的继承关系:
Application

LayoutContainer

Container

UIComponent
而Container,UIComponent 都实现了IChildList接口管理容器中子项的方法。
所以可以通过IChildList定义的setChildIndex和numChildren属性来实现控件的层次排列关系。
演示代码如下:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import mx.core.UIComponent;
private function mouseOverHandler(event:MouseEvent):void{
this.setChildIndex(event.currentTarget as DisplayObject,this.numChildren-1);
}
]]>
</mx:Script>
<mx:Image mouseOver="mouseOverHandler(event)" x="42.85" y="40.6" source="images/cupgreen.png"/>
<mx:Image mouseOver="mouseOverHandler(event)" x="132.8" y="93.2" source="images/cupempty.png"/>
<mx:DateChooser mouseOver="mouseOverHandler(event)" x="456.6" y="118.6" />
<mx:DateChooser mouseOver="mouseOverHandler(event)" x="370.4" y="142.3"/>
</mx:Application>
演示的地址:
效果图:
分享到:
相关推荐
在IT行业中,"flex tree icon"通常指的是使用Flex技术构建的一种树形结构控件,它在用户界面上显示带有图标的层次数据。Flex是一种用于创建富互联网应用程序(RIA)的框架,基于ActionScript编程语言和Flash Player...
- **自定义节点渲染**: 通过创建自定义的`TreeItemRenderer`类,可以改变节点的显示方式,比如添加图片、链接等。 5. **性能优化** - **虚拟化**: Flex Tree支持虚拟化,只在视口内的节点进行渲染,以提高大数据...
在Flex开发中,DataGrid控件是用于展示数据表格的重要组件。它允许用户以网格形式查看和操作数据,尤其在处理大量数据时,自动分页功能变得至关重要,以提高用户体验和应用性能。在这个主题中,“三状态多选”功能则...
在Flex框架中,树形控件(Tree控件)是用于展示层次结构数据的组件,通常用来模拟文件系统的层级结构或者表示类的继承关系等。树形控件中的每一个树节点通常会有一个图标与之对应,用以区分节点类型,例如文件夹节点...
- **Image** - 显示图片的组件。 - **SWFLoader** - 加载SWF文件的组件。 - **VideoDisplay** - 显示视频的组件。 #### 四、高级控件 ##### 1. **MenuControls** - **Menu** - 菜单组件。 - **MenuBar** - 菜单栏...
- 设置元素浮动后,其`display`值仍然是`block`或`inline-block`,浮动只是改变了元素在文档流中的位置。 34. **怎么让Chrome支持小于12px的文字?** - Chrome默认不支持小于12px的文字,可以通过以下CSS代码强制...
- 布局方式:如使用`float`实现左右布局,或使用`flex`和`grid`进行现代布局设计。 - 响应式设计:使用媒体查询(Media Queries)使网站能在不同设备上良好显示。 3. **JavaScript**:增加网页的交互性和动态性。...
例如,`color`属性可以改变文本颜色,`margin`和`padding`可以调整元素的外边距和内边距,`display`属性可以决定元素的显示方式(如块级、行内或flex)。CSS还可以通过媒体查询(media queries)实现响应式设计,使...
5. `display`属性用于改变元素的显示方式,如`block`、`inline`、`flex`等。 6. `box-sizing`属性影响元素的总尺寸计算方式。 7. `@media`查询实现响应式设计,针对不同屏幕尺寸应用不同的样式。 【总结】 “web1...