flex 制作QQ表情

Main.mxml



   
       
       
           
               
                   
                       
                       
                   

               
               
           

       

       
                    labelPlacement="top" />
       
   

   
   
                    import mx.controls.Alert;
            import render.FacePanel;
            import mx.collections.ArrayCollection;
            [Bindable]
            private var photos:Array=[];//头像集合
            /* 弹出表情界面 */
            private var fp:FacePanel=new FacePanel();
            /* 初始化 */
            private function init():void{
                this.getPhotos();
                this.getFaces();
            }
            /* 活动头像数据源 */
            private function getPhotos():void{
                for(var i:int=1;i<100;i++){
                    photos.push({label:i,image:"images/face/"+i+"_m.jpg"});
                }
            }
            /* 指定--传值 */
            private function getFaces():void{
                fp.init();
                fp.pb=pbtn;
                pbtn.popUp=fp;
            }
           
            private function closeHandle():void{
                Alert.show(fp.getSelectItem()+"");
            }
        ]]>
   



FacePanel.mxml


    backgroundColor="#DFD6D6" >
             maxColumns="6" maxRows="5" dataProvider="{faces}" creationComplete="init()">
         
            
                
                   
               

            

         

   

   
   
   
   
   
   
                    import mx.controls.PopUpButton;
            import mx.events.ListEvent;
            [Bindable]
            private var faces:Array=[];
            [Bindable]
            private var currPage:int=1;//当前页
            private var pageSize:int=24;//显示多少条
            private var totalPage:int=0;//总页数
            private var total:int=100;//总条数
            private var rowCount:int=0;
           
            public var pb:PopUpButton;
           
            /* 初始化 */
            public function init():void{
                if(total%pageSize==0){
                    totalPage=total/pageSize;
                }else{
                    totalPage=total/pageSize+1;
                }
                this.viewPage(1);
            }
            /* 上一页 */
            private function prevPage():void{
                if(currPage==1){
                    return
                }else{
                    currPage=currPage-1;
                }
                viewPage(currPage);
            }
            /* 下一页 */
            private function nextPage():void{
                if(currPage==totalPage){
                    return;
                }else{
                    currPage=currPage+1;
                }
                viewPage(currPage);
            }
            /* 添加数据 */
            private function viewPage(page:int):void{
                faces=[];
                var index:int=0;
                var pos:int=(page-1)*pageSize;
                for(var i:int=0;i                     index=pos+i;
                    faces.push({label:index,imgPath:"images/smile/"+index+".gif"});
                }
            }
            /* 活动选择的表情 */
            public function getSelectItem():Object{
                if(tlface.selectedIndex!=-1){
                    return tlface.selectedItem.label;
                }else{
                    return "0";
                }
            }
            /* 关闭PopUpButton */
            private function changeHandle(event:ListEvent):void{
                pb.close();
            }
        ]]>
   


你可能感兴趣的:(flex3)