2012-09-22 121 views

回答

9

您可以創建SurfaceView,您可以在onDraw()方法中使用。要繪製圖形,可以使用Path類,它的方法爲moveTo()lineTo()。要更改線條的外觀,請使用Paint類。然後使用Canvases drawPath()方法,該方法使用PathPaint對象。我認爲比OpenGl更容易開始。

Some tutorial

更新: 我已經找到了預tty好看的庫,它看起來很容易使用:MPAndroidChart

+0

我們可以使用MPAndroidChat來繪製Circle等數學關係嗎?我問這是因爲AChartEngine不支持這個 –

+0

我沒有使用MPAndroidChart,我只在github上看過它,從漂亮的演示文檔和文檔看來,它似乎是一個很好的圖形選擇。你最好從開發者那裏問問,他/她可能會幫助你。 –

+0

@ bali182 ...謝謝 –

1

如何想的OpenGL ES?

您可以創建一個擴展GLSurfaceView

例如GraphView代碼 -

public class GraphView extends GLSurfaceView { 

private Renderer renderer; 

public GraphView(Context context) { 
    super(context); 
    renderer = new GraphRenderer(); 
    setRenderer(renderer); 
} 
} 

而且你GraphRender

ublic class GraphRenderer implements Renderer { 

public void onDrawFrame(GL10 gl) { 
gl.glMatrixMode(GL10.GL_MODELVIEW); 
gl.glLoadIdentity(); 

GLU.gluLookAt(gl, 0, 0, -5, 0f, 0f, 0f, 0f, 1.0f, 1.0f); 
gl.glColor4f(1, 0, 0, .5f); 
} 

public void onSurfaceChanged(GL10 gl, int width, int height) { 
gl.glViewport(0, 0, width, height); 

float ratio = (float) width/height; 
gl.glMatrixMode(GL10.GL_PROJECTION); 
gl.glLoadIdentity(); 
gl.glFrustumf(-ratio, ratio, -1, 1, 3, 7); 
} 

public void onSurfaceCreated(GL10 gl, EGLConfig config) { 

} 

private void drawGraph(GL10 gl) { 
gl.glLineWidth(1.0f); 

// put your code here .. 


} 

public static int loadShader(int type, String shaderCode) { 
int shader = GLES20.glCreateShader(type); 
GLES20.glShaderSource(shader, shaderCode); 
GLES20.glCompileShader(shader); 
return shader; 
} 

}

你可以試試這個方法。

+1

是的,但我怎麼樣可以將時間設置在0.15分鐘的y軸上? –