关于Android的SDK
我使用PaletteProviderBase设置ColumnChart的颜色。 但我发现有关strokeColor的错误是错误的。
1,有些栏栏无法绘制笔画。
2,某些列条会绘制错误的笔触颜色。
我的代码:
private class ColumnsPaletteProvider extends PaletteProviderBase<FastColumnRenderableSeries> implements IFillPaletteProvider , IStrokePaletteProvider {
private final IntegerValues colors = new IntegerValues();
private final int[] desiredColors;
protected ColumnsPaletteProvider() {
super(FastColumnRenderableSeries.class);
desiredColors = new int[]{Color.RED, Color.GREEN, Color.TRANSPARENT};
}
@Override
public void update() {
ColumnRenderPassData passData = (ColumnRenderPassData) this.renderableSeries.getCurrentRenderPassData();
final int size = passData.pointsCount();
colors.setSize(size);
XyzDataSeries<Date, Double, Double> series = (XyzDataSeries<Date, Double, Double>) renderableSeries.getDataSeries();
int startIndex = passData.xPointRange.getMin();
int dataCount = series.getCount();
final int[] colorsArray = colors.getItemsArray();
for (int i = 0; i < size; i++) {
int index = startIndex + i;
if (index >= dataCount)
{
colorsArray[i] = desiredColors[2];
}
else
{
double direction = series.getZValues().get(index);
if (direction == 1)
{
colorsArray[i] = desiredColors[0];
}
else
{
colorsArray[i] = desiredColors[1];
}
}
}
}
@Override
public IntegerValues getFillColors() {
return colors;
}
@Override
public IntegerValues getStrokeColors() {
return colors;
}
}
当我设置Surface.setRenderSurface()时,我发现会显示这些错误。
RenderSurface renderSurface = new RenderSurface(surface.getContext());
renderSurface.setBackgroundColor(Color.TRANSPARENT);
mSurface.setRenderSurface(renderSurface);
因为我的应用程序显示将显示黑色背景。
答案 0 :(得分:0)
我调查了这个问题并发现它是RenderSurface实现中的一个错误。它现在应该修复(从v2.1.0.2275及以上开始)。
您可以使用我们的Maven存储库修复最新的每晚构建。您可以在documentation中找到有关如何从Maven引用SciChart Android库的说明。
希望这会对你有帮助!