Flex中如何通过httpStatus事件检测Image控件载入图片是否成功的例子

By Minidxer | November 10, 2008

接下来的例子演示了Flex中如何通过httpStatus事件,检测Image控件载入图片是否成功。

让我们先来看一下Demo可以右键View Source或点击这里察看源代码):


下面是完整代码(或点击这里察看):

Download: main.mxml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3.         layout="vertical"
  4.         verticalAlign="middle"
  5.         backgroundColor="white">
  6.  
  7.     <mx:Script>
  8.         <![CDATA[
  9.             import mx.controls.Alert;
  10.             import flash.events.HTTPStatusEvent;
  11.  
  12.             private function img_httpStatus(evt:HTTPStatusEvent):void {
  13.                 switch (evt.status) {
  14.                     case 200:
  15.                         // Valid image, do nothing.
  16.                         break;
  17.                     case 404:
  18.                         // Invalid image, PANIC!
  19.                         Alert.show("invalid image!", evt.status.toString());
  20.                         break;
  21.                     default:
  22.                         Alert.show(evt.toString(), evt.status.toString());
  23.                         break;
  24.                 }
  25.             }
  26.  
  27.             private function button_click(evt:MouseEvent):void {
  28.                 img.source = textInput.text;
  29.             }
  30.         ]]>
  31.     </mx:Script>
  32.  
  33.     <mx:ApplicationControlBar dock="true">
  34.         <mx:HDividedBox width="100%">
  35.             <mx:TextInput id="textInput"
  36.                     text="http://www.helpexamples.com/flash/images/image1.jpg" />
  37.             <mx:Button label="load image"
  38.                     width="100"
  39.                     minWidth="100"
  40.                     maxWidth="100"
  41.                     click="button_click(event);" />
  42.             <mx:Spacer width="100%" />
  43.         </mx:HDividedBox>
  44.     </mx:ApplicationControlBar>
  45.  
  46.     <mx:Image id="img"
  47.             httpStatus="img_httpStatus(event);" />
  48.  
  49. </mx:Application>
代码:Peter deHaan 翻译/整理/编译:中文Flex例子

Topics: Image | No Comments » | Tags: , ,

Search Posts