升级到0.9.8时,Android绘图范围刻度标签和域刻度标签不可见

时间:2016-08-01 18:33:47

标签: android android-studio androidplot

我使用的是0.9.7版本的库,而且每个人都按预期工作。当我移动到0.9.8时,范围刻度标签和域刻度标签变得不可见。除了库升级之外,我还没有做过任何其他更改。

请找我的xml

<com.androidplot.xy.XYPlotZoomPan
            android:id="@+id/dynamicXYPlot0"
            androidPlot.graphWidget.marginBottom="10dp"
            androidPlot.graphWidget.marginLeft="10dp"
            androidPlot.graphWidget.marginRight="10dp"
            androidPlot.graphWidget.marginTop="10dp"
            androidplot.renderMode="use_background_thread"
            android:layout_width="match_parent"
            android:layout_height="150dp"
            ap:backgroundColor="#00000000"
            ap:borderColor="#00000000"
            ap:label="Lead I     "
            ap:labelTextColor="#757575"
            ap:labelTextSize="15sp" />

这是我的情节初始化。

private void initializePlot(XYPlotZoomPan plot, int tick, SimpleXYSeries series) {
    plot.setDomainBoundaries(0, windowsize, BoundaryMode.FIXED);
    plot.addSeries(series, formatter);
    plot.setDrawRangeOriginEnabled(true);
    plot.setTicksPerRangeLabel(Constants.RANGE_TICKS);
    plot.setTicksPerDomainLabel(Constants.DOMAIN_TICKS);
    plot.getGraphWidget().getRangeOriginTickLabelPaint().setTextSize(20);
    plot.getGraphWidget().getRangeTickLabelPaint().setTextSize(20);
    plot.getGraphWidget().getDomainOriginTickLabelPaint().setTextSize(20);
    plot.getGraphWidget().getDomainTickLabelPaint().setTextSize(20);
    plot.getLegendWidget().setVisible(false);
    plot.setBackgroundColor(Color.WHITE);
    plot.getGraphWidget().getBackgroundPaint().setColor(Color.WHITE);
    plot.getGraphWidget().getGridBackgroundPaint().setColor(Color.WHITE);
    plot.getGraphWidget().getDomainOriginLinePaint().setColor(dkgrey);
    plot.getGraphWidget().getDomainOriginTickLabelPaint().setColor(dkgrey);
    plot.getGraphWidget().getRangeOriginTickLabelPaint().setColor(dkgrey);
    plot.getGraphWidget().getRangeOriginLinePaint().setColor(dkgrey);
    plot.getTitleWidget().position(0, XLayoutStyle.ABSOLUTE_FROM_RIGHT, 0,
            YLayoutStyle.ABSOLUTE_FROM_TOP, AnchorPosition.RIGHT_TOP);
    plot.centerOnRangeOrigin(0);
    plot.setRangeBottomMax(-Constants.RANGE_MIN);
    plot.setRangeTopMin(Constants.RANGE_MIN);
    plot.setRangeStep(XYStepMode.INCREMENT_BY_VAL, tick);
    plot.setDomainStep(XYStepMode.INCREMENT_BY_VAL, Constants.DOMAIN_TICK);
    adjustRangewindow();
}

1 个答案:

答案 0 :(得分:0)

最简单的解决方法是在剧情的xml中添加一个样式参数:

style="@style/APDefacto.Dark"

另外,您可以选择使用xml替换您在代码中执行的格式设置。此外,现在存在这些参数的正式风格:

androidPlot.graphWidget.marginBottom="10dp"
androidPlot.graphWidget.marginLeft="10dp"
androidPlot.graphWidget.marginRight="10dp"
androidPlot.graphWidget.marginTop="10dp"

虽然这些将继续有效,但它们依赖于Configurator,这是通过xml进行样式化的旧方式。替换为:

ap:marginTop="10dp"
ap:marginBottom="10dp"
ap:marginLeft="10dp"
ap:marginRight="10dp"

0.9.8 can be found here中提供的可设置样式的完整列表。这些attrs的文档目前很少,但在即将发布的1.0版本中应该会更好。