嗨我想绘制画布的路径,但它没有做任何事情,它也没有绘制画布.
我的代码:
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);
}
Run Code Online (Sandbox Code Playgroud)
它只显示绿色,这是默认值view.backroundColor.
谢谢
Canvas只是一个用于绘制的"工具" Bitmap.您需要以这种方式关联它们:
Canvas canvas = new Canvas(someBitmap);
Run Code Online (Sandbox Code Playgroud)
但是这只能让你在someBitmap上绘制.如果你想在视图中绘制,你必须onDraw(Canvas)使用Canvas你提供的,它已经与真实视图的绘图位图绑定.
要使用onDraw(),您必须创建自定义视图(即从某些视图扩展View).
然后有,SurfaceView但那是另一回事(我不太了解它).
| 归档时间: |
|
| 查看次数: |
8403 次 |
| 最近记录: |