您好,我想在 Canvas 中绘制路径,但它什么也没做,它也不绘制 Canvas 。
我的代码:
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
的默认值。
谢谢
最佳答案
Canvas
只是一个在 Bitmap
上绘图的“工具”。您需要以这种方式关联它们:
Canvas canvas = new Canvas(someBitmap);
然而,这只允许您在 someBitmap 上绘制。如果你想在 View 中绘制,你必须在 onDraw(Canvas)
中使用你提供的 Canvas
来完成,它已经与位图绑定(bind)那是实景图。
要使用onDraw()
,您必须制作自定义 View (即,从某些 View
扩展)。
然后是 SurfaceView
但那是另一回事(我对此了解不多)。
关于android - 如何在android中将路径绘制到 Canvas 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5928721/