Flex實現在ViewStack中的滾動新聞實時刷新(上)!

      先描述一下作品的需求:

      滾動新聞作爲當前ViewStack的其中一頁,要實現定時刷新。

      單純的滾動新聞效果,相信大家都很容易實現,不過就是通過設置Move的一些屬性罷了,

 

       //滾動字幕
         private function moveAction():void{
          
              if(recordsNum>DEFAULT_SCROLL_ROWNUM){
               
                 move_up.end();        //這句話 最好加 否則會在HttpService刷新數據時 產生其他效果
               
                 move_up.yFrom = 0;  

                

                 move_up.yTo =  0-AbfltDG.height;
 
                 move_up.repeatCount = 0; //loop
 
                 move_up.repeatDelay = 0; //loop time
 
                 move_up.duration = SPEED_SCROLL*recordsNum; //the time of scroll once  其中SPEED_SCROLL、

 

                                                                                                    recordsNum都是自定義的變量Number類型
 
                 move_up.play();
                
               
              }

         }

 

<!--相應頁面元素-->

<mx:Move id="move_up" target="{AbfltDG}"/>

 

<mx:Canvas x="310" y="265" width="670" height="450" id="canvas_dg" horizontalScrollPolicy="off" verticalScrollPolicy="off" mouseOver="move_pause()" mouseOut="move_resume()" backgroundColor="#90C3FC">
     <mx:DataGrid x="0" y="0" width="670" height="500" id="AbfltDG" dataProvider="{fltdata}" verticalScrollPolicy="off" showHeaders="false" verticalGridLines="true" styleName="ABFlt" visible="false" backgroundColor="#90C3FC" backgroundAlpha="0.9">
    <mx:columns>
    <mx:DataGridColumn headerText="航站" dataField="stationName" textAlign="center" fontFamily="宋體" fontSize="12" itemRenderer="sim.monitor.asobj.CustomBackgroundComp"/>
    <mx:DataGridColumn headerText="航班號" dataField="fltNumber" textAlign="center" fontFamily="宋體" fontSize="12" itemRenderer="sim.monitor.asobj.CustomBackgroundComp"/>
    <mx:DataGridColumn headerText="延誤時間" dataField="delayTime" textAlign="center" fontFamily="宋體" fontSize="12" itemRenderer="sim.monitor.asobj.CustomBackgroundComp"/>
    <mx:DataGridColumn headerText="延誤原因" dataField="delayReason" textAlign="center" fontFamily="宋體" fontSize="12" itemRenderer="sim.monitor.asobj.CustomBackgroundComp"/>
    </mx:columns>
     </mx:DataGrid>
 </mx:Canvas>

 

 

      然而,爲了實現在ViewStack中的定時刷新,就要考慮一下界面效果的問題了:

      第一、如果不考慮刷新時間,將會造成數據在滾動的過程中刷新;

      第二、如果把滾動新聞效果頁作爲一個獨立的控件,如何在ViewStack中訪問它,並控制好每次在滾動結束時,根據刷新策略來進行組件的刷新;

 

      這兩個問題有些棘手,好在經過思考和查閱,想到了對策!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章