从RoundedBitmapDrawable转换为BitmapDrawable

时间:2015-04-11 11:26:25

标签: android casting imageview bitmapdrawable roundedbitmapdrawable

在开始使用RoundedBitmapDrawable来围绕Bitmap的角落之前,一切运作良好。

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

  

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

代码:

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

1 个答案:

答案 0 :(得分:-3)

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

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