在开始使用RoundedBitmapDrawable修整Bitmap的角之前,一切工作都很好。

开始使用RoundedBitmapDrawable之后,我得到:


  java.lang.ClassCastException:
  android.support.v4.graphics.drawable.RoundedBitmapDrawable21无法转换为android.graphics.drawable.BitmapDrawable


码:

BitmapDrawable bitmapDrawable = ((BitmapDrawable) imageView.getDrawable());

最佳答案

这两种类型之间没有分层链接,只是它们共享同一父级。相反,您可以在运行时检查drawable的类型并进行相应的转换,

if (imageView.getDrawable() instanceof android.support.v4.graphics.drawable.RoundedBitmapDrawable) {
    RoundedBitmapDrawable drawable = (RoundedBitmapDrawable) imageView.getDrawable();
    Bitmap roundedBitmap = drawable.getBitmap();
    // ...
}

08-17 17:34