flex 开发卡片模板处理(三)

 
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" 
  3.            width="500" 
  4.            height="100%"   
  5.            borderStyle="solid" 
  6.            borderThickness="2" 
  7.            borderColor="#757B7F" 
  8.            xmlns:common="common.*" 
  9.            fontWeight="normal" 
  10.            backgroundColor="#FFFFFF">
  11.             
  12.         <mx:Script> 
  13.         <![CDATA[
  14.             import mx.containers.HBox;
  15.             import code.ProductHandlerBasic; 
  16.             import mx.events.ItemClickEvent;
  17.             import mx.core.Container;
  18.             import mx.controls.Image;  
  19.             import flash.events.* ;
  20.               
  21.             //模板显示列表数据,存放在xml当中,单击主题时。分析此数据
  22.             private var mbdata:XML = <wdxc></wdxc> ;
  23.             
  24.              
  25.            /*型号:明星片,长贺卡,两折卡,折叠卡*/
  26.             private var _type :String ;
  27.              
  28.             /*主题:综合,儿童卡,生日卡,情侣卡...*/
  29.             private var _subject:String;
  30.             
  31.             
  32.             private var _subjectObj:XMLList ; 
  33.              
  34.             private var _productHandlerBase:ProductHandlerBasic ;
  35.             /**
  36.              * 创建主题列表
  37.              */
  38.             public function createSubjecthbox():void{
  39.                 for(var i:int=0;i<_subjectObj.length();i++){
  40.                     var v:HBox = new HBox() ;
  41.                     v.name = _subjectObj[i].@subjectname ;
  42.                     v.label =_subjectObj[i].@label  ;
  43.                     this.viewstack1.addChild(v) ;
  44.                 }
  45.             }
  46.             
  47.              
  48.             /**用户进入操作页面之前选择的模板*/ 
  49.             public function set type(t:String):void{
  50.                 this._type = t ; 
  51.             }
  52.             
  53.             public function get type():String{
  54.                 return this._type ;
  55.             }
  56.             public function set subject(s:String):void{
  57.                 this._subject = s ;
  58.             }
  59.             public function get subject():String{
  60.                 return this._subject ;
  61.             }   
  62.             
  63.             /**
  64.             * 创建模板显示视图
  65.             */ 
  66.             public function initModuleviewUI():void{    
  67.                 _subjectObj = _productHandlerBase.mbClass;
  68.                 //创建模板图片数据
  69.                 this.createPhotoUrlToXml(_subjectObj) ;
  70.                 /*创建模板分类组件*/
  71.                 this.createSubjecthbox() ;
  72.                 this.viewstack1.selectedChild.name = _subjectObj[0].@subjectname ;
  73.                 /*要加上callLater,否则ie下滚动条有问题*/
  74.                 this.callLater(subjectClickHandler);
  75.             } 
  76.             
  77.             public function set productHandlerBase(p:ProductHandlerBasic):void{
  78.                 _productHandlerBase = p ; 
  79.                 
  80.             }  
  81.             public function get productHandlerBase():ProductHandlerBasic{
  82.                 return this._productHandlerBase ;
  83.             }
  84.             
  85.              
  86.             /**
  87.              * 每个主题下面有很多张图片,图片地址有,型号及主题组成。
  88.              * 图片张数存放数组中,循环而可得到xml形式的图片地址。
  89.              * @param arr:主题名称数组,及个数
  90.              * @param t  :型号。(明星片,长贺卡)
  91.              * 生成格式如下:
  92.              * <wdxc>  
  93.              *  <subject name="zonghe">
  94.              *      <url>/images/product/newcard/pagemb/postcard/zonghe/zonghe01.jpg</url>
  95.              *      <url>/images/product/newcard/pagemb/postcard/zonghe/zonghe01.jpg</url>
  96.              *  </subject>
  97.              * </wdxc> 
  98.              **/ 
  99.             private function createPhotoUrlToXml(arr:XMLList):void{
  100.                 
  101.                 var t:String =_productHandlerBase.typename ;
  102.                 for(var j:int=0;j<arr.length();j++){
  103.                     
  104.                     var t1:String =null ;   
  105.                     var subjectNode:XML = <subject name={arr[j].@subjectname}></subject> ;
  106.                       
  107.                     for(var i:int=1;i<=arr[j].@number;i++){  
  108.                         t1=(i<10)?("0"+i+".jpg"):i+".jpg";   
  109.                         var picurlNode:XML =<url>/images/product/newcard/operatemb/{t}/{arr[j].@subjectname}/{arr[j].@subjectname}{t1}</url> ; 
  110.                         subjectNode.appendChild(picurlNode);
  111.                     }
  112.                     mbdata.appendChild(subjectNode) ;
  113.                      
  114.                 }       
  115.             }
  116.             /********************单击版式,更换版式*/   
  117. //          private function bsClickHandler(e:MouseEvent):void {
  118. //                     
  119. //              var ig:Image = Image(e.currentTarget) ;
  120. //              var _url :String  = ig.source.toString() ;
  121. //              _url = _url.replace(".jpg",".gif") ; 
  122. //         }     
  123.              
  124.             /**
  125.              * 单击模板图片。用户更换模板,把该图片加载到编辑台上面。*/
  126.             private function photoClickHandler(e:MouseEvent):void{
  127.                 var ig:Image = Image(e.currentTarget) ;
  128.                 var _url :String  = ig.source.toString() ;
  129.                 _url = _url.replace(".jpg",".gif") ; 
  130.                 this._productHandlerBase.moduleChange(_url);
  131.                     
  132.             } 
  133.               
  134.             
  135.             private function subjectClickHandler():void{   
  136.                var subjectname:String = viewstack1.selectedChild.name;    
  137.                // this.t1.text= subjectname;
  138.                 var hbox:HBox = HBox(viewstack1.getChildByName(subjectname));   
  139.                 if(hbox.numChildren!=0){
  140.                     return ;
  141.                 }           
  142.                 hbox.removeAllChildren() ; 
  143.                 
  144.                 //得到当前主题所对应的图片地址. 
  145.                 var subjectxmllist:XMLList = mbdata.subject.(@name==subjectname).url ;
  146.                 //this.t1.text= this.t1.text+"werwrwrwe"+ mbdata.subject.(@name==subjectname).url.toXMLString();             
  147.                 for(var j:int=0;j<subjectxmllist.length();j++){ 
  148.                      
  149.                     var img:Image = new Image() ;  
  150.                     img.buttonMode = true ;
  151.                     img.useHandCursor = true ; 
  152.                     img.source =subjectxmllist[j];
  153.                     //this.t1.text=this.t1.text+img.source ;
  154.                     img.addEventListener(MouseEvent.CLICK,photoClickHandler) ; 
  155.                     hbox.addChild(img) ;  
  156.                 }
  157.             }
  158.             ]]>
  159. </mx:Script>   
  160. <mx:ViewStack x="10" y="35" id="viewstack1"  fontWeight="normal" width="100%" height="100%">
  161. </mx:ViewStack>  
  162.          
  163. <mx:LinkBar itemClick="subjectClickHandler();" dataProvider="viewstack1" fontFamily="Arial" fontSize="12" backgroundColor="#FFFFFF" width="100%" fontWeight="normal" fontStyle="normal" textDecoration="underline" color="#1A75E0"/>                 
  164. <!--
  165. <mx:TextArea id="t1" x="336" y="5"/>
  166. -->
  167. </mx:Canvas>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值