jackyrong

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

flex学习小结7

1 饼状图
   import mx.collections.ArrayCollection;
        //绑定需要显示的数据
        [Bindable]
        //设定要显示的数据
        private var modelData:ArrayCollection = new ArrayCollection( [
            { Year: "2010年世界杯", Count: 4 },
            { Year: "2014年世界杯", Count: 10 },
            { Year: "说不清", Count: 50} ]);
        //定义函数用于显示回调
        private function displayCount(data:Object, field:String, index:Number,

percentValue:Number):String {
            //取百分比的数的6位
            var temp:String= (" " + percentValue).substr(0,6);
            //返回要显示数据的内容
            return data.Year + ": " + '\n' + "人数: " + data.Count + '\n' + temp + "%";
           
        }
        ]]>
    </mx:Script>
    <mx:Panel title="你认为中国足球队什么时候能够再次冲出亚洲" height="100%" width="100%">
        <mx:PieChart id="chart" height="100%" width="100%"
            paddingRight="5" paddingLeft="5"
            showDataTips="true" dataProvider="{modelData}">
            <mx:series>
                <mx:PieSeries id="test_PS" labelPosition="callout" field="Count"

labelFunction="displayCount">
                    <mx:calloutStroke>
                        <mx:Stroke weight="0" color="0x888888" alpha="1.0"/>
                    </mx:calloutStroke>
                    <mx:radialStroke>
                        <mx:Stroke weight="0" color="#FFFFFF" alpha="0.20"/>
                    </mx:radialStroke>
                    <mx:stroke>
                        <mx:Stroke color="0" alpha="0.20" weight="2"/>
                    </mx:stroke>
                </mx:PieSeries>
            </mx:series>
        </mx:PieChart>
    </mx:Panel>

2 柱状图
     <![CDATA[
        //调入所需的包
        import mx.collections.ArrayCollection;
        [Bindable]
        //设定要显示的数据
        private var modelCPI:ArrayCollection = new ArrayCollection( [
            { Name: "食品", rise:7.6 },
            { Name: "零售商品", rise:2.4 },
            { Name: "工业品", rise:2.8 },
            { Name: "原材料", rise:3.8 }]);
        ]]>
    </mx:Script>
    <mx:Panel title="2007年上半年物价上涨百分比"
        height="100%" width="100%" layout="horizontal">
        <!--设定数据源 -->
        <mx:ColumnChart id="column" height="100%" width="45%"
            paddingLeft="5" paddingRight="5"
            showDataTips="true" dataProvider="{modelCPI}">
            <mx:horizontalAxis>
                <mx:CategoryAxis categoryField="Name"/>
            </mx:horizontalAxis>
            <mx:series>
             <!--设定显示的字段 -->
                <mx:ColumnSeries xField="Name" yField="rise" displayName="上涨%"/>
            </mx:series>
        </mx:ColumnChart>
        <!--设定数据源 -->
         <mx:BarChart id="bar" height="100%" width="45%"
            paddingLeft="5" paddingRight="5"
            showDataTips="true" dataProvider="{modelCPI}">
           <mx:verticalAxis>
                <mx:CategoryAxis categoryField="Name"/>
            </mx:verticalAxis>
             <mx:series>
             <!--设定显示的字段 -->
                <mx:BarSeries yField="Name" xField="rise" displayName="上涨%"/>
            </mx:series>
        </mx:BarChart>
    </mx:Panel>

3  样式管理类stylemanager
  A 设定全局样式
  <mx:Style>
 global{
  fontSize:12pt;
  color:#9933FF;
 }
</mx:Style>
  设定后,所有组件的样式都是一样的,也可以这样:
<![CDATA[

  import mx.styles.StyleManager;

  private function setCurStyle():void{
   StyleManager.getStyleDeclaration("global").setStyle('fontSize',"12");
   StyleManager.getStyleDeclaration("global").setStyle('color',"#9933FF"); 
  }
 ]]>
</mx:Script>
 <mx:Button label="全局样式按钮" horizontalCenter="0" verticalCenter="-50" click="setCurStyle

()"/>
  
   B 引入外部样式
     <mx:style source="cssTest.css"/>

4 FADE渐变效果:
   <mx:Fade id="Fade1" alphaFrom="1" alphaTo="0.3" duration="500" />
<mx:Fade id="Fade2" alphaFrom="0.3" alphaTo="1" duration="500" />
 <mx:Image width="90" height="120" horizontalCenter="0" verticalCenter="0"

source="flexbuilder.jpg" mouseDownEffect="Fade1" mouseUpEffect="Fade2"/>
   其中alpha设置透明度

5 移动的动画效果
       <![CDATA[
        //引入动画效果类
   import mx.effects.easing.*;
   //定义函数设定移动动画效果
            private function moveImage():void {
             //中断当前移动效果
                myMove.end();
                //设定移动组件的x坐标值
                myMove.xTo=mouseX-100;
                //设定移动组建的y坐标值
                myMove.yTo=mouseY-100;
                //通过动画进行组件的移动
                myMove.play();
            }
      ]]>
    </mx:Script>
    <!-- 定义一个移动标签设定要移动的组件-->
    <mx:Move id="myMove" target="{img}" duration="700" easingFunction="{Bounce.easeInOut}"/>
    <mx:Panel title="组件移动效果" width="95%" height="95%"
        paddingTop="5" paddingLeft="10" paddingRight="10" paddingBottom="5">
        <!--引入Canvas用于绝对坐标值的移动,响应鼠标按下事件-->
        <mx:Canvas id="canvas" width="100%" height="100%"  mouseDown="moveImage();">
        <!--设定图片内容-->
            <mx:Image id="img"  source="flexbuilder.jpg"/>
        </mx:Canvas>

6 组合的动画效果
 

posted on 2010-01-23 19:36  jackyrong的世界  阅读(303)  评论(0编辑  收藏  举报