我有自定义视图。
这个我有onDraw()函数。
@Override
public void onDraw(Canvas canvas)
{
canvas.drawLine(0,0,600,200,black);
}
在这个onDraw()中我想再创建一个画布。假设canvas1。
@Override
public void onDraw(Canvas canvas)
{
canvas.drawLine(0,0,600,200,black);
canvas1.drawLine(0,0,500,100,Red);
}
在按钮上单击我想使canvas1图可见且不可见。但我不想再重绘一次 第一件事:是否可以在onDraw()中再创建一个画布? * 并使其可见且不可见。 *
如果您有任何其他方法可以这样做,请建议我,但除了再次重绘()的解决方案。我不能重绘()我的情况有一些问题。
希望你了解我的问题? 请建议我。
答案 0 :(得分:3)
使用另一个Canvas你需要在第二个画布上绘制一个位图,然后在画布上绘制
Bitmap bitmap ;
Canvas c2 = new Canvas(bitmap);
@Override
public void onDraw(Canvas canvas)
{
canvas.drawLine(0,0,600,200,black);
// Draw on Second canvas
c2.drawLine(0,0,500,100,Red);
// Draw second canvas (c2) to first one
canvas.drawBitmap(bitmap, 0, 0, null);
}
答案 1 :(得分:1)
最好是设计2个自定义视图并相互叠加,使底部的背景透明。