Có một onImageChangedListener() trên một ImageView không?ImageView onImageChangedListener Android
Tôi cần sự kiện khi hình ảnh được thay đổi từ ImageView.
Có một onImageChangedListener() trên một ImageView không?ImageView onImageChangedListener Android
Tôi cần sự kiện khi hình ảnh được thay đổi từ ImageView.
Kiểm tra mã ImageView trong grepcode. Bạn không biết khi nào nó được thay đổi hoặc vẽ lại. Đó là vì sau khi bạn setImageDrawable(), imageview sẽ vô hiệu. Tại thời điểm này, hình ảnh KHÔNG được sửa đổi đúng cho đến khi ondraw được gọi.
Dù sao, tại sao bạn muốn biết người theo dõi onimagechanged?
Không có người nghe mặc định trong Android .. nhưng chúng ta có thể tạo ra các listiner imagechange .. sao chép các lớp và thay vì sử dụng sử dụng 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);
}
}
Nếu bạn muốn tải hình ảnh từ mạng và kiểm tra thay đổi trong imageview bạn có thể sử dụng imageView.isAttachedToWindow(). Tôi đã thử tải xuống hình ảnh từ mạng và vô hiệu hóa thanh tiến trình sau khi tải xuống hình ảnh và đính kèm vào cửa sổ. Sử dụng,
if(imageView.isAttachedToWindow()){
//your code here
}
Hình ảnh được thay đổi như thế nào? – Simon
Hình ảnh được thay đổi trênButtonClick, chọn hình ảnh từ Camera hoặc SDCard. – Naskov
Tôi có nghĩa là bạn thay đổi hình ảnh như thế nào? setImageBitmap? setImageDrawable? Khác? – Simon