2011-10-19 18 views
0

私は描画関数を描画関数の外で使用しています。私は画面座標を計算している自分自身の関数でこれを呼び出していますが、drawパスは何も実行しません。ondraw関数の外に描画パスandroid

ドローパスがオンドロー内でのみ機能するのは本当ですか?

答えて

1

はい、Pathを描画する場合は、onDraw(Canvas canvas)メソッドでのみ使用できるCanvasを使用する必要があります。この

@Override 
public void onDraw(Canvas canvas) { 
    drawPath(canvas); 
} 

public void drawPath(Canvas canvas) { 

    Paint paint = new Paint(); 
    paint.setColor(Color.BLACK); 

    Path path = new Path(); 
    path.moveTo(4, -10); 
    path.lineTo(20, 0); 
    path.lineTo(-9, 0); 
    path.close(); 

    canvas.drawPath(path, paint); 
} 

は私issue.The他の問題の一部を解決したおかげで描画する前に、ということであるPath

+0

の詳細についてもHow to use canvas in your android apps見るようにしかし、onDraw(Canvas canvas)方法の中からおメソッドを呼び出すことが可能ですパス私は軌道の方程式を使ってこのパス上に落ちるポイントを計算する必要があります。これはondraw.Canの描画パスを呼び出すことができないことを意味します。 – Ruchira

+1

私はあなたからの問題の原因を確認したので、私はあなたの答えを受け入れます。私はポイントを計算した後、無効を呼び出すことによって、私の問題の後半部分を解決しました。 – Ruchira

+0

あなたはそれを解決してうれしいです! –

関連する問題