import com.benstucki.utilities.IconUtility;
import mx.controls.Button;
import mx.controls.ButtonBar;
import mx.events.ChildExistenceChangedEvent;
public function childAddedHandler(event:ChildExistenceChangedEvent):void
{
var buttonBar:ButtonBar = event.target as ButtonBar;
var button:Button = event.relatedObject as Button;
var data:Object = buttonBar.dataProvider;
var key:String = "icon";
var iconSource:String = data[buttonBar.getChildIndex(button)][key];
button.setStyle("icon", IconUtility.getClass(button, iconSource));
}
import com.benstucki.utilities.IconUtility;
import mx.controls.Button;
import mx.controls.ButtonBar;
import mx.events.ChildExistenceChangedEvent;
public function childAddedHandler(event:ChildExistenceChangedEvent):void
{
var buttonBar:ButtonBar = event.target as ButtonBar;
var button:Button = event.relatedObject as Button;
var data:Object = buttonBar.dataProvider;
var key:String = "icon";
var iconSource:String = data[buttonBar.getChildIndex(button)][key];
button.setStyle("icon", IconUtility.getClass(button, iconSource));
}
<mx:Array id="testData">
<mx:Object id="button1"
label="Red Button"
icon="assets/redIcon.jpg" />
<mx:Object id="button2"
label="Green Button"
icon="assets/greenIcon.jpg" />
<mx:Object id="button3"
label="Blue Button"
icon="assets/blueIcon.jpg" />
</mx:Array>
<mx:ButtonBar id="buttonBar"
dataProvider="{testData}"
childAdd="childAddedHandler(event);">
</mx:ButtonBar>
注意:依赖于附件里提供的IconUtility组件。
分享到:
相关推荐
### Flex 运行时加载皮肤知识点详解 #### 一、背景与问题提出 在Flex开发过程中,皮肤(skin)的设计和加载是一项重要的工作。皮肤决定了应用程序的外观和风格,能够显著提升用户体验。然而,在实际应用中,特别是...
在本篇文章中,我们将深入探讨如何在Flex中利用`IconUtility`来实现动态加载Icon的功能。 首先,我们需要理解Flex的基本概念。Flex是一种基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。在...
根据给定的信息,我们可以深入探讨Flex中的...综上所述,Flex中的异步加载Tree组件是一个非常实用的功能,可以帮助开发者在处理大量数据时提高应用性能。通过理解其工作原理和实现细节,可以更好地应用于实际项目中。
在实际应用中,你可能还需要处理各种事件,如点击菜单项时触发相应的操作,或者在运行时动态更新菜单结构。这可能涉及到`ItemClickEvent`和其他Flex事件监听器,以及对数据源的实时更新。 总之,“flex自定义多级...
**RSL**(Runtime Shared Libraries)是Flex中的一种技术,它允许开发者将应用程序中的某些部分封装成共享库,并在运行时按需加载这些库。这种方式可以显著减少初始加载时间,并提高应用性能。 **使用方法**: 1. *...
在Android平台上,Flex应用程序可以借助Adobe AIR SDK进行编译,生成可以在Android设备上运行的APK文件,如`MobileTest.apk`所示。ViewMenu是Flex中一个常用的组件,用于呈现一组可选择的选项,类似于Android原生的...
Flex是一种基于ActionScript和Flash Player运行时的开源框架,用于构建富互联网应用程序(RIA)。在Flex中,可以使用Tree控件来创建树状图,它能够以层级结构展示数据,适用于展示目录、组织架构或者复杂的数据关系...
1. 提高性能:与运行时加载资源相比,嵌入的资源访问速度更快,因为它们在编译时就已经整合到SWF文件中。 2. 简化代码:通过变量直接引用嵌入资源,可以简化代码,提高开发效率。例如,一个图片可以作为一个类引用,...
Flex是一种基于Adobe AIR和Flash Player运行时的开源框架,用于构建富互联网应用程序(RIA)。Flex应用主要使用ActionScript和MXML进行开发,而添加favicon的过程则涉及到HTML和Web标准的理解。 首先,我们需要了解...
状态消息通常指的是程序运行过程中向用户显示的临时信息,如加载进度、错误提示或操作状态等。在Flex中,我们可以利用各种组件来实现这一功能。以下是关于如何在Flex中显示状态消息的详细步骤和知识点: 1. **创建...
资源嵌入是指将特定类型的资源编译进最终的SWF文件中,而不是在运行时动态加载。这种方式能够确保用户在首次访问应用时即可获得完整的体验,而无需等待额外的资源下载完成。 #### 不同类型的资源嵌入 根据资源类型...
3. **外部参数**:`flashvars`是一个在HTML嵌入Flash时传递参数的方式,用于在运行时配置Flex应用。 4. **href和target属性**:添加到源数据上的`href`属性用于定义点击节点时跳转的URL,而`target`属性则定义了新...
Adobe AIR允许开发者构建跨平台的桌面应用程序,结合了Flash和Flex的强大力量,提供了一种在桌面环境中运行富互联网应用(RIA)的方式。 首先,我们来看如何创建右键菜单。在Adobe AIR中,可以使用`NativeMenu`和`...
3. 延迟加载:当聊天记录过多时,采用延迟加载技术,只显示最近的部分记录。 综上所述,创建一个jQuery手机端响应式聊天窗口界面,需要结合HTML、CSS和JavaScript(主要是jQuery)技术,通过合理的布局和交互设计,...
2. **资源管理**:根据压缩包中的文件名,我们可以看到`icon_0.png`可能是一个游戏图标,而`library.swf`可能是包含游戏元素的库文件。在Flash Builder中,我们可以导入这些资源,将图片设置为气球或炸弹的外观,而...
同时,需要在uniapp项目中引入微信小程序的适配层,这样uniapp的代码才能在微信小程序环境中正常运行。 三、自定义tabbar设计 设计自定义tabbar时,通常需要考虑以下几个方面: 1. 图标:可以使用SVG图标或者网络...
在AIR中,可以通过设置`NativeApplication.nativeApplication.icon.image`属性来自定义应用程序的图标。你可以使用多种图像格式,如ICO(Windows)或ICNS(Mac OS),确保在不同操作系统上都有良好的显示效果。同时...
在小程序开发中,这两点尤为重要,因为小程序通常需要快速加载并能在各种设备上流畅运行。一个轻量的组件库可以帮助开发者减少代码量,提高应用性能,同时,一个可靠的库可以确保开发过程中的稳定性和兼容性,减少...
随着微信小程序的版本迭代,可能会有新的 API 或配置项出现,因此在自定义`tabBar`时,应保持对官方文档的关注,及时更新代码以兼容新特性,确保在不同版本的小程序环境中正常运行。 通过以上步骤,你可以创建出...