2011-05-08 80 views
2

嗨,我想繪製路徑到畫布中,但它沒有做任何事情,它也不繪製畫布。
我的代碼:如何在android中繪製路徑到畫布中?

Path path = new Path(); 
Canvas canvas = new Canvas(); 

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

canvas.drawColor(Color.CYAN); 

for (int i = 5; i < 50; i++) 
{ 
    path.setLastPoint(4, i - 1); 
    path.lineTo(4, i); 
} 
path.close(); 
for (int i = 0; i < 5; i++) 
{ 
    View iview = inflater.inflate(R.layout.linear_layout, null); 
    iview.findViewById(R.id.imageView1);//.setBackgroundColor(backgroundColors[i]); 

    ShapeDrawable mDrawable = new ShapeDrawable(new OvalShape()); 
    mDrawable.getPaint().setColor(Color.YELLOW); 
    mDrawable.setBounds(10, 10, 15, 15); 

    canvas.drawPath(path, paint); 
    mDrawable.draw(canvas); 

    iview.draw(canvas); 
    realViewSwitcher.addView(iview); 
} 

它表明我只綠色這是view.backroundColor的默認值。

感謝

回答

8

Canvas只是一個 「工具」 了一個多Bitmap繪圖。你需要這樣關聯它們:

Canvas canvas = new Canvas(someBitmap); 

但是這隻允許你在someBitmap上繪圖。如果你想在視圖中繪製,你必須在onDraw(Canvas)中使用你提供的Canvas來做到這一點,它已經與真實視圖的位圖綁定。

要使用onDraw(),您必須進行自定義視圖(即從一些View延伸)。

然後有SurfaceView但這是另一回事(我不太瞭解它)。