匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。Flex中Image加载图片出错时显示默认图片的几种方法 - Flexer - 博客园
Flex中Image加载图片出错时显示默认图片的方法主要有以下几种:方法一:利用 brokenImageSkin 风格显示一个默认的图,只需设置CSS就行了,如下:&mx:Style&&& & Image {&& & & & brokenImageSkin: Embed("assets/404.jpg");&& & }&&/mx:Style&&方法二:***Image组件的IOErrorEvent.IO_ERROR事件,代码如下:private function errorHandler():void{&& &image.source = "assets/404.jpg";}&mx:Image id="image" source="http://不存在.jpg" ioError="errorHandler()"/&方法三:继承Image类,覆盖其set source方法,如下:override public function set source(value:Object):void{&& &if(!value || value == ""){&& & & &value = "assets/404.jpg";&& &}&& &super.source =}推荐使用第三种方法,因为第一种方法跟第二种方法有个共同的缺点,如下情况:&mx:Image id="image" source="" ioError="errorHandler()"/&此时无论是第一种方法还是第二种方法都不会显示默认图片,而第三种方法就可以解决这个问题。第三种方法具体实现及使用方法如下:MyImage.aspackage{ import flash.events.IOErrorE
import mx.controls.I
public class MyImage extends Image {
private var defaultImage:String = "assets/404.jpg";
public function MyImage()
this.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
override public function set source(value:Object):void
if(!value || value == ""){
value = defaultI
super.source =
private function ioErrorHandler(event:IOErrorEvent):void
super.source = defaultI
} }}Main.mxml&?xml version="1.0" encoding="utf-8"?&&mx:Application xmlns:mx="/2006/mxml" layout="absolute" xmlns:local="*"& &local:MyImage id="image" source=""/&&/mx:Application&推荐使用第三种方法。