指定された座標とクリーンキャンバスを持つ線を描く

私はここにいくつかの質問を読んで私はDrawViewクラスを使用するために、レイアウト上に線を描画する必要がありますが、私はある時点でこのビューをきれいにし、別の線を描く必要があります(または、 )。

しかし、私はそれが簡単に残念ながら私が持っている唯一のアイデアは、レイアウトからDrawViewを削除し、毎回別のDrawViewを作成することができますかわからない。

編集:私はsave()を使用しようとしました。空のキャンバスを保存し、それをきれいにする必要があるたびにrestore()を実行しますが、動作しないようです...

public class DrawView extends View {
    Paint paint = new Paint();
    float startX;
    float startY;
    float endX;
    float endY;

    public DrawView(Context context, float startX, float startY, float endX, float endY) {
        super(context);
        paint.setColor(Color.WHITE);
        this.setMinimumHeight(300);
        this.setMinimumWidth(300);

        this.startX = startX;
        this.startY = startY;
        this.endX = endX;
        this.endY = endY;
    }

    @Override
    public void onDraw(Canvas canvas) {
        canvas.drawLine(startX, startY, endX, endY, paint);
    }

}
0

2 答え

あなたが知っているように、画面にプログラムで直接描画したいのであれば、XMLを除外してSurfaceView経由で行うことができます。ここにはtuttorialがあります:www.edu4java.com/

1
追加された

あなたは使うことができます

canvas.drawColor(int color)

あなたのキャンバスに任意の色を塗りつぶすことができます。使用する場合

canvas.drawColor(Color.TRANSPARENT);

キャンバスをきれいにするはずです。

0
追加された
私はそれを試みた、それは動作しません
追加された 著者 badoualy,
あなたが使用したコードを投稿できますか?
追加された 著者 nanoquack,