2014-01-11 63 views
0

我有一個畫布上繪製的路徑,如圖設置畫布的ImageView

@Override 
protected void onDraw(Canvas canvas) { 
    super.onDraw(canvas); 
    path.moveTo(X, Y); 
    path.lineTo(X+20, Y);   
    canvas.drawPath(path, paint); 
    invalidate(); 
}  

我想這出現在一個XML的ImageView的,但不知道該怎麼做。 如何讓這個畫布出現在imageview中?我有一個位圖,但無法連接所有這些。

回答

0
Path path=new Path();  
path.moveTo(50, 50); 
path.lineTo(50, 50); 
ShapeDrawable star = 
    new ShapeDrawable(new PathShape(path, 100, 100)); 
    star.setIntrinsicHeight(100); 
    star.setIntrinsicWidth(100); 
    star.getPaint().setColor(Color.RED); 
    star.getPaint().setStyle(Paint.Style.STROKE); 
    ImageView iView = (ImageView)findViewById(R.id.ImageView1); 
    iView.setImageDrawable(star); 
+0

請參閱最新的代碼。 –

0

爲什麼不延長的ImageView並重寫的onDraw這樣的:

@Override 
    protected void onDraw(Canvas canvas) { 
     super.onDraw(canvas); 

     path.lineTo(X + 20, Y); 

     canvas.drawPath(path, paint); 
    } 

這裏一切都在ImageView將提請除了你的路徑。

如果這不是你想要的,也許這可能是有益的link

,並呼籲invalidate()onDraw()可能是壞的想法是什麼。它是遞歸的。