編輯:
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 –