2011-05-08 132 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但这是另一回事(我不太了解它)。