私は Flex の初心者で、最近 Flash Builder 4.6 を使用して Flex Mobile プロジェクトを開始しました。このプロジェクトはAndroid 用です。
円グラフに効果を追加したかったので、以下を使用しました。
<mx:SeriesInterpolate id="interpol"
duration="1000"
elementOffset="0"
minimumElementDuration="200"
/>
コード全体は次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="init()"
title="Pie Chart">
<fx:Script>
<![CDATA[
import mx.charts.events.ChartItemEvent;
import mx.collections.ArrayCollection;
[Bindable]
public var expenses:ArrayCollection = new ArrayCollection([
{ Expense:"Taxes", Amount:2000 },
{ Expense:"Rent", Amount:1000 },
{ Expense:"Timepass", Amount:500 },
{ Expense:"Screwing Around", Amount:3200 },
{ Expense:"Food", Amount:200 } ]);
private function init():void
{
pieSeries1.setStyle("showDataEffect", interpol);
myPieChart.dataProvider=expenses;
}
private function setLegends():void
{
pieLegend.dataProvider=myPieChart;
}
private function pieChart_itemClick(event:ChartItemEvent):void
{
pieHighlight( event.currentTarget.id , event.hitData.chartItem.index );
}
private function pieHighlight( pieName:String, pieIndex:int ):void
{
var explodeData:Array = []; //create an empty array
explodeData[ pieIndex ] = 0.15; //Set the index of our pie piece to > 0
this[pieName].series[0].perWedgeExplodeRadius = explodeData;
myPieChart.dataProvider=expenses;
}
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
<mx:SeriesInterpolate id="interpol"
duration="1000"
elementOffset="0"
minimumElementDuration="200"
/>
</fx:Declarations>
<mx:PieChart id="myPieChart" x="49" y="93" width="100%" height="100%" itemClick="pieChart_itemClick(event);"
selectionMode="multiple" showDataTips="true" creationComplete="setLegends();">
<mx:series>
<mx:PieSeries id="pieSeries1" field="Amount" labelPosition="callout" nameField="Expense"/>
</mx:series>
</mx:PieChart>
<mx:Legend id="pieLegend"/>
</s:View>
dataProvider を動的に設定すると ( myPieChart.dataProvider=expenses )、効果が発生することに気付きました。エフェクトには「スワイプオープン」エフェクトと「やさしく抜きスライス」エフェクトが含まれます。ただし、Legends にはラベルがありますが、色はありません。
なぜこれが起こっているのですか?これに対する解決策は何ですか?
あなたが提供できる助けを前もって感謝します..
スクリーンショットは次のとおりです。