zoukankan      html  css  js  c++  java
  • Animating a Flex PieChart control’s rotation when a user clicks on an item

    In the following example, we look at how to add a nice animation effect with some easing to make the effect a bit more smooth
    <?xml version="1.0" encoding="utf-8"?>
    <!-- http://blog.flexexamples.com/2007/11/22/animating-a-flex-piechart-controls-rotation-when-a-user-clicks-on-an-item/ -->
    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
            layout
    ="vertical"
            verticalAlign
    ="middle"
            backgroundColor
    ="white">

        
    <mx:Script>
            
    <![CDATA[
                import mx.effects.easing.*;
                import mx.charts.series.items.PieSeriesItem;
                import mx.charts.events.ChartItemEvent;

                private function pieChart_itemClick(evt:ChartItemEvent):void {
                    var item:PieSeriesItem = evt.hitData.chartItem as PieSeriesItem;
                    var degrees:Number = radiansToDegrees(item.startAngle);
                    var arr:Array = [];
                    if (checkBox.selected) {
                        arr[item.index] = 0.2;
                    }
                    pieSeries.perWedgeExplodeRadius = arr;
                    pieSeries.startAngle -= degrees;

                    dp.refresh();
                }

                private function radiansToDegrees(radians:Number):Number {
                    return radians * (180 / Math.PI);
                }
            
    ]]>
        
    </mx:Script>

        
    <mx:XMLListCollection id="dp">
            
    <mx:source>
                
    <mx:XMLList>
                    
    <product label="Product 1" data="3" />
                    
    <product label="Product 2" data="1" />
                    
    <product label="Product 3" data="4" />
                    
    <product label="Product 4" data="1" />
                    
    <product label="Product 5" data="5" />
                    
    <product label="Product 6" data="9" />
                
    </mx:XMLList>
            
    </mx:source>
        
    </mx:XMLListCollection>

        
    <mx:ApplicationControlBar dock="true">
            
    <mx:CheckBox id="checkBox"
                    label
    ="Use perWedgeExplodeRadius:"
                    labelPlacement
    ="left"
                    selected
    ="true" />
        
    </mx:ApplicationControlBar>

        
    <mx:PieChart id="pieChart"
                dataProvider
    ="{dp}"
                showDataTips
    ="true"
                itemClick
    ="pieChart_itemClick(event);"
                height
    ="100%"
                width
    ="100%">
            
    <mx:series>
                
    <mx:PieSeries id="pieSeries"
                        field
    ="@data"
                        nameField
    ="@label">
                    
    <mx:showDataEffect>
                        
    <mx:SeriesInterpolate duration="1500"
                                easingFunction
    ="{Elastic.easeOut}" />
                    
    </mx:showDataEffect>
                    
    <mx:filters>
                        
    <mx:DropShadowFilter />
                    
    </mx:filters>
                
    </mx:PieSeries>
            
    </mx:series>
        
    </mx:PieChart>

        
    <mx:Legend dataProvider="{pieChart}" direction="horizontal" />

    </mx:Application>


  • 相关阅读:
    背包问题
    基本TCP套接字编程
    P中值选址问题的整数规划求解
    Leapms + cplex解决 混合整数规划问题
    如何用整数规划求解NP完全问题
    用Leapms建摸 / 用 CPLEX 求解 旅行商问题 整数规划问题
    用线性规划建模(确定参数)关键路径法
    流水车间调度算法分析的简单+Leapms实践--混合整数规划的启发式建模
    Wolsey "强整数规划“ 建模的+Leapms实践——无产能批量问题
    Wolsey“强整数规划模型”经典案例之一单源固定费用网络流问题
  • 原文地址:https://www.cnblogs.com/taobataoma/p/1037047.html
Copyright © 2011-2022 走看看