当前位置:  开发笔记 > 后端 > 正文

如何使用flex将图像作为图标动态加载到TileList中?

如何解决《如何使用flex将图像作为图标动态加载到TileList中?》经验,为你挑选了1个好方法。

好的,所以我有一个我创建的自定义渲染:


  
    
  
  
  

我想用于照片库,图片被拖放到TileList上.我有那个部分,但我似乎无法让图标的东西工作.

给定:value是File类的包装器.我想将mx:Image源设置为需要类型为Class的东西.使用nativePath或url会给我一个强制转换错误.我在网上看到大量使用XML的例子,比如"Embed(/url/to/img.jpg)".我向你保证,如果你给我一个例子(使用静态图像),我会给你一个反对票.这不是我在这里寻找的东西!



1> erikprice..:

这不起作用的原因是因为fileIcon属性的类型是Class.Class如果您打算像工厂一样使用它,通常只需要一个类型的对象,用它创建该类的实例.当您使用[Embed]元数据时,您向编译器指示它应该将指定的资产嵌入到SWF中,并且还生成一个Class用作可以表示该资产的自动售货对象实例的工厂.但是,正如您在发布此问题之前已经发现的那样,问题[Embed]在于您需要对引用进行硬编码,它不允许您在运行时提供值(因为编译器需要在编译时直接嵌入资源) -时间).

幸运的是,它mx:Image.source是一个非常灵活的属性,也接受字符串(尽管大多数文档都证明了它与嵌入式资产一起使用).只要Flex应用程序能够加载资产,您就可以提供String类型的URL作为source.

将类型更改fileIcon为String,并验证该value.file.url实际上是应用程序可以加载的图像的URL.(你可以通过将这个URL硬编码到mx:Image's source属性中来测试它.)

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有