ImageView 上有 onImageChangedListener() 吗?
当图像从 ImageView 更改时,我需要该事件。
ImageView 上有 onImageChangedListener() 吗?
当图像从 ImageView 更改时,我需要该事件。
Android 中没有默认侦听器 .. 但我们可以创建 imagechange 侦听器 .. 复制该类,而不是使用 ImageView 使用 MyImageView..
public class MyImageView extends ImageView {
private OnImageChangeListiner onImageChangeListiner;
public MyImageView(Context context) {
super(context);
}
public MyImageView(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
}
public void setImageChangeListiner(
OnImageChangeListiner onImageChangeListiner) {
this.onImageChangeListiner = onImageChangeListiner;
}
@Override
public void setBackgroundResource(int resid) {
super.setBackgroundResource(resid);
if (onImageChangeListiner != null)
onImageChangeListiner.imageChangedinView(this);
}
@Override
public void setBackgroundDrawable(Drawable background) {
super.setBackgroundDrawable(background);
if (onImageChangeListiner != null)
onImageChangeListiner.imageChangedinView(this);
}
public static interface OnImageChangeListiner {
public void imageChangedinView(ImageView mImageView);
}
}
检查 grepcode 中的 imageview 代码。你不知道它什么时候被改变或重绘。这是因为在你 setImageDrawable() 之后,imageview 会失效。此时,在调用 ondraw 之前,图像不会正确更改。
反正为什么要知道onimagechangedlistener?
如果你想从网络加载图像并检查 imageview 的变化,你可以使用 imageView.isAttachedToWindow()。我尝试从网络下载图像并在图像下载并附加到窗口后禁用进度条。采用,
if(imageView.isAttachedToWindow()){
//your code here
}