Ошибка цвета обводки columeChart - PullRequest
0 голосов
/ 23 мая 2018

О 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);

Поскольку на дисплее моего приложения будет отображаться черный фон.

скриншот ошибки 1

скриншот ошибки 2

1 Ответ

0 голосов
/ 25 мая 2018

Я исследовал эту проблему и обнаружил, что это ошибка в реализации RenderSurface.Это должно быть исправлено сейчас (начиная с v2.1.0.2275 и выше).

Вы можете получить исправления с последней ночной сборкой из нашего репозитория Maven.Инструкции по ссылкам на библиотеки SciChart Android от Maven можно найти в документации .

Надеюсь, это поможет вам!

...