编辑:
Androidplot 1.3.1已经发布添加了支持旋转图形控件:
XML:
ap:graphRotation="ninety_degrees"
的Java
plot.getGraph().setRotation(Widget.Rotation.NINETY_DEGREES);
除非你使用它们,你还需要禁用域/范围光标(通常是隐藏的起源敌后):
plot.getGraph().setDomainCursorPaint(null);
plot.getGraph().setRangeCursorPaint(null);
原来的答复(对任何人没有上1.3。 1):
今天不直接支持,但可以很容易地添加。现在,您可以通过在每个渲染周期之前将画布旋转90度,然后恢复,实现基本效果。如果你的情节空间恰好是方形的,这将毫无问题地工作。否则,画布的不可变高度和宽度将需要转换以考虑改变的高宽比,这可能是可能的,但可能不值得涉及的头痛。
这里有一个快速和肮脏的方式旋转一个情节:
plot.addListener(new PlotListener() {
@Override
public void onBeforeDraw(Plot source, Canvas canvas) {
final float h = canvas.getHeight()/2;
final float w = canvas.getWidth()/2;
canvas.save();
canvas.rotate(90, w, h);
@Override
public void onAfterDraw(Plot source, Canvas canvas) {
canvas.restore();
}
});*/
所有的这种方法的缺点可以通过不是扩展XYGraphWidget并覆盖doOnDraw(帆布,RectF)来解决,因为我们可以变异的RectF如所须。尽管将新实例连接回XYPlot并将xml attrs重新应用到窗口小部件,但还有很多工作要做。
我已经更新了我的答案,现在支持已添加到1.3.1 – Nick
感谢您添加此昵称 –
感谢您添加此昵称。我尝试了XML解决方案。它运作良好。但是可以旋转270度(或-90度)。此刻,我的应用程序中旋转的情节是颠倒的。再次感谢Dean –