2011-10-19 15 views
0

我在ondraw函數外部使用drawpath函數。我在我自己的函數中調用這個函數,我正在計算屏幕座標。但是繪製路徑並不是paiinting任何東西。drawpath外部提取功能android

這是真的,drawpath功能只在ondraw?

回答

1

是的,當你想畫一個Path你必須使用Canvas,你只能在onDraw(Canvas canvas)方法中使用。但是,可以從onDraw(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); 
} 

How to use canvas in your android apps看到的更多信息,Path

+0

感謝那些解決了我的issue.The其他問題的一個部分是繪製之前路徑我需要使用彈道方程來計算落在這條路徑上的點,這意味着我不能在撤銷時調用繪製路徑。請給我建議我替代它。 – Ruchira

+1

當我從你那裏得到問題原因的確認後,我接受你的答案。我通過在計算積分後調用invalidate來解決了我的問題的後期部分。 – Ruchira

+0

我很高興你解決了它! –