首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >columeChart笔划颜色错误

columeChart笔划颜色错误
EN

Stack Overflow用户
提问于 2018-05-24 03:05:02
回答 1查看 73关注 0票数 1

关于Android的SDK

我使用PaletteProviderBase来设置ColumnChart的颜色。但是我发现关于strokeColor的一个bug是错误的。

1、部分柱状栏无法绘制笔划。

2、某些柱状栏绘制错误的笔触颜色。

我的代码:

代码语言:javascript
复制
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()时,我发现这些错误会显示出来。

代码语言:javascript
复制
RenderSurface renderSurface = new RenderSurface(surface.getContext());
renderSurface.setBackgroundColor(Color.TRANSPARENT);
mSurface.setRenderSurface(renderSurface);

因为我的应用程序显示将显示黑色背景。

error screenshot 1

error screenshot 2

EN

回答 1

Stack Overflow用户

发布于 2018-05-25 17:48:49

我调查了这个问题,发现它是RenderSurface实现中的一个错误。现在应该已经修复了(从v2.1.0.2275开始)。

您可以从我们的Maven存储库获得最新的夜间构建修复。您可以在documentation中找到如何从Maven库引用SciChart的说明。

希望这能对你有所帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50495731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档