首页 > 代码库 > Flex embed XML and Icon
Flex embed XML and Icon
在平日的FLEX开发中,我们经常会遇到各种XML和Icon 内嵌,如何方便快速的管理这些文件成为提高开发效率的要点。
最近在做flex右键菜单时遇到的麻烦,下面将近期的经验总结在此,备忘。
首先是XML 的内嵌(此处的mimeType只能指定为二进制)
[Embed(source="/assets/xml/contextmenu.xml",mimeType="application/octet-stream")] private var MenuConfig:Class; //读取 var bytes:ByteArray = new MenuConfig; var menuConfig:XML = new XML(bytes.readUTFBytes(bytes.length));
还有一种是在mxml中加入,然后通过id引用
<fx:XML id="menuConfig" source="/assets/xml/contextmenu.xml"/>
下面是icon的嵌入
将需要嵌入的图标统一写在一个AS文件中,然后在主应用中加载as文件
Icons.as (注意:作用域一定要写为public,且不要加static,不要加package和class类声明,编译会报错)
[Embed("/assets/images/arcgis16/add.png")] public var AddIcon:Class; [Embed("/assets/images/arcgis16/FolderBlueAdd.png")] public var AddGroupIcon:Class; [Embed("/assets/images/arcgis16/addressAdd.png")] public var AddAddressIcon:Class; [Embed("/assets/images/arcgis16/sketch.png")] public var SketchIcon:Class; [Embed("/assets/images/arcgis16/properties.png")] public var PropertiesIcon:Class; [Embed("/assets/images/arcgis16/delete.png")] public var DeleteIcon:Class;
之后在应用中引入
<fx:Script source="/assets/script/Icons.as"/>
此方法适用于Menu,MenuBar等控件的数据源配置,因为通常她们的数据源都是XML,并可配置icon属性,相当方便。
var rightClickMenu:Menu = Menu.createMenu(FlexGlobals.topLevelApplication as DisplayObjectContainer, menuConfig, false); rightClickMenu.labelField = "@label"; //iconField一定要指定,否则图标不会生效 rightClickMenu.iconField = "@icon"; //将菜单排列紧密 rightClickMenu.variableRowHeight = true; rightClickMenu.addEventListener(MenuEvent.ITEM_CLICK, handler);
Flex embed XML and Icon
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。