如何检测 Android ImageView 可绘制对象是否为动画?
How to detect if an Android ImageView drawable is an anim?
在我的应用程序中,我有一个可以更改源的 ImageView。源始终是一个 Drawable,可以是位图或由 drawable 构成的 xml 动画。
但是,当源是动画时,我必须先调用 Drawable 的 start() 方法,然后将其转换为 AnimationDrawable。
当然,将非动画 Drawable 转换为 AnimationDrawable 会抛出 ClassCastException。我目前抓住了它并且效果很好。
但我对此并不满意,如果不是动画,我宁愿不要尝试投射 Drawable。
有没有一种方法可以检测用作 ImageView 源的 Drawable 的类型,以便我可以仅在它是动画时投射它?
谢谢,
尼古拉斯.
instanceof 工作正常,谢谢!
我的工作代码:
Drawable drawable = imageView.getDrawable();
if(drawable instanceof AnimationDrawable){
((AnimationDrawable) drawable).start();
}
在我的应用程序中,我有一个可以更改源的 ImageView。源始终是一个 Drawable,可以是位图或由 drawable 构成的 xml 动画。 但是,当源是动画时,我必须先调用 Drawable 的 start() 方法,然后将其转换为 AnimationDrawable。
当然,将非动画 Drawable 转换为 AnimationDrawable 会抛出 ClassCastException。我目前抓住了它并且效果很好。 但我对此并不满意,如果不是动画,我宁愿不要尝试投射 Drawable。
有没有一种方法可以检测用作 ImageView 源的 Drawable 的类型,以便我可以仅在它是动画时投射它?
谢谢, 尼古拉斯.
instanceof 工作正常,谢谢!
我的工作代码:
Drawable drawable = imageView.getDrawable();
if(drawable instanceof AnimationDrawable){
((AnimationDrawable) drawable).start();
}