我是我的应用程序中的Android开发新手我想在手指移动上画线,并想要删除我用屏幕上提供的按钮单击绘制的所有线条。 我能够绘制线条,但我无法删除线条,线条也不平滑。
答案 0 :(得分:1)
创建一个代表你的行的类,例如:
public class Line{
public float startX;
public float startY;
public float endX;
public float endY;
public int colour;
private Paint paint;
...
...
public Line(float startX, float startY, float endX, float endY, int colour){
this.startX = startX;
this.startY = startY;
this.endX = endX;
this.endY = endY;
this.paint = new Paint();
this.paint.setColor(colour);
// look at the antialias and dither options for paint to create a smooth line
...
...
}
public draw(Canvas canvas){
canvas.drawLine(this.startX, this.startY, this.endX, this.endY, paint);
}
}
然后在您的活动中,创建一个Line对象列表,例如ArrayList行;
在触摸事件中,不是画线,而是在列表中添加新行。然后,在你的onDraw方法中,像这样:
for(Line line:lines){
line.draw(canvas);
}
最后,在按钮单击中,从行列表中删除行对象。
祝你好运!