如何检测Android ImageView drawable是否是一个动画?

时间:2015-03-30 10:40:41

标签: android casting imageview classcastexception animationdrawable

在我的应用程序中,我有一个可以更改源的ImageView。源始终是Drawable,可以是由drawables构成的Bitmap或xml anim。 但是,当源是动画时,我必须在Drawable上调用start()方法,然后首先将它转换为AnimationDrawable。

当然,非动画Drawable强制转换为AnimationDrawable会抛出ClassCastException。我目前抓住了它并且效果很好。 但我对此并不满意,如果它不是动画,我宁愿不尝试施放Drawable。

有没有办法检测用作ImageView源的Drawable的类型,所以只有当它是一个动画时我才能投射它?

谢谢, 尼古拉斯。

1 个答案:

答案 0 :(得分:0)

instanceof工作正常,谢谢!

我的工作代码:

Drawable drawable = imageView.getDrawable();
if(drawable instanceof AnimationDrawable){
    ((AnimationDrawable) drawable).start();
}