【发布时间】:2015-11-02 14:41:46
【问题描述】:
我需要一个在数据集中包含三个条目的饼图,以便当我触摸图表时它会旋转到正确的数据(这意味着它从 data[0] -> click -> spin to data[1] 开始 - > 点击 -> 旋转到数据[2] -> 点击 -> 旋转到数据[0])。
我实施的解决方案是这样的:
START_OFFSET = 95;
_index0= absoluteAngles[0] - (drawAngles[0] / 2) - START_OFFSET ;
_index1= absoluteAngles[1] - (drawAngles[1] / 2) - START_OFFSET ;
_pendingPieOffset = absoluteAngles[2] - (drawAngles[2] / 2) - START_OFFSET;
问题就从这里开始。这应该给了我正确的角度,因为absoluteAngle 代表切片的末端,drawAngles 代表切片的宽度。因此,即使我的数学是正确的,我也无法将每个切片的中心与底部居中。
_overlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
...
case AVAILABLE_BALANCE:
_pieChart.spin(SPIN_DURATION, _index2, _index0, Easing.EasingOption.EaseInCubic);
break;
case USED_BALANCE:
_pieChart.spin(SPIN_DURATION, _index0, _index1, Easing.EasingOption.EaseInCubic);
break;
case PENDING_BALANCE:
_pieChart.spin(SPIN_DURATION, _index1, _index0, Easing.EasingOption.EaseInCubic);
break;
....
}
【问题讨论】: