0

私は自分のアプリケーションでアンドロイド開発を始めたばかりです。指の動きで線を描きたいのですが、画面に表示されるボタンのクリックで自分が描いたすべての線を削除したいと思っています。線を引くことはできますが、線を削除することはできず、線も滑らかではありません。

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 に答える