0

我是我的应用程序中的 android 开发新手,我想在手指移动时画线,并想通过单击屏幕上提供的按钮来删除我画的所有线。我可以画线,但我无法删除线,而且线也不平滑。

4

1 回答 1

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);
 }

最后,在您的按钮单击中,从您的线条列表中删除线条对象。

祝你好运!

于 2012-09-05T20:35:19.423 回答