CustomView - 感谢setImageResource 0清除画布

时间:2016-04-25 12:45:20

标签: android canvas android-custom-view

我尝试以编程方式清除自定义 ImageView的当前图像,在我调用方法setImageResource()之后,我的自定义图像视图保留旧图像。我尝试以下解决方案:

  • canvas.drawColor(Color.TRANSPARENT,Mode.CLEAR)
  • 画一个空的位图,什么都没发生......

以下是我的观点的onDraw方法:

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

1 个答案:

答案 0 :(得分:0)

这是我犯下的一个愚蠢的错误。我正在使用一个动画,其中一个View应该出现在我的CircleView上并且在消失之后但是setFillAfter false没有工作......