Ich habe versucht, das aktuelle Bild eines benutzerdefinierten ImageView programmgesteuert zu löschen, nachdem ich die Methode setImageResource() aufgerufen habe, meine benutzerdefinierte Bildansicht behalten das alte Bild. Ich versuche, die folgenden Lösungen:CustomView - Clear Canvas dank setImageResource 0
- canvas.drawColor (Color.TRANSPARENT, Mode.CLEAR)
- ein leeres Bitmap zeichnen, es ist nichts passiert ...
Hier ist die OnDraw Methode meiner Ansicht:
private void loadBitmap() {
BitmapDrawable bitmapDrawable = (BitmapDrawable) getDrawable();
image = (bitmapDrawable != null) ? bitmapDrawable.getBitmap() : null;
}
@Override
public void onDraw(Canvas canvas) {
loadBitmap();
final int circleCenter = getHeight()/2;
final int radius = circleCenter - 5;
if (image != null) {
paint.setShader(computeBitmapShader());
canvas.drawCircle(circleCenter, circleCenter, radius, paint);
} else {
super.onDraw(canvas);
}
}