Belirtilen koordinatla bir çizgi çiz ve tuval temizle

Bir mizanpaj üzerinde bir çizgi çizmem gerekiyor, çünkü buradaki bir soruyu okudum ve DrawView sınıfını kullanıyorum, fakat bu noktayı bir noktada temizlemem ve başka bir çizgi çizmem gerekiyor (ya da mümkünse ilk satırın koordinatlarını değiştirmem gerekiyor) ).

Ama bunu kolayca nasıl yapabilirim bilmiyorum maalesef sahip olduğum tek fikir DrawView'i mizanpajdan kaldırıyor ve her seferinde başka bir DrawView yaratıyor.

Düzenleme: save() işlevini kullanmaya çalıştım; Boş tuvali kaydetmek ve temizlemek için her zaman geri yüklemek (), ama işe yaramıyor ...

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 cevap

Eğer doğrudan program üzerinde ekran çizmek istiyorsanız, o zaman xml dışarı bırakabilir ve SurfaceView üzerinden yapabilirsiniz, burada bir tuttorial: www.edu4java.com/

1
katma

Kullanabilirsiniz

canvas.drawColor(int color)

tuvalinizi herhangi bir renkte boyamak (daha önce çizilenleri temizlediğiniz anlamına gelir). Eğer kullanırsan

canvas.drawColor(Color.TRANSPARENT);

Bu tuvalinizi temizlemeniz gerekir.

0
katma
Denedim, işe yaramadı
katma yazar badoualy, kaynak
Kullandığın kodu gönderir misin?
katma yazar nanoquack, kaynak