diff options
author | Mark Wei <markwei@google.com> | 2014-02-07 10:46:58 -0800 |
---|---|---|
committer | Mark Wei <markwei@google.com> | 2014-02-07 10:50:50 -0800 |
commit | 9024423249c9b1779f523cc4fe757fda2d205844 (patch) | |
tree | 7ec7778dc6e1489469354c3419773c56e33cbb1a /src/com/android/bitmap/view | |
parent | f19fbf57153edb48f001bf8e01da8a714947cfe1 (diff) | |
download | bitmap-9024423249c9b1779f523cc4fe757fda2d205844.tar.gz |
Allow setting transient state on BitmapDrawableImageView so we don't unbind()
during animations.
Change-Id: I9275ef69f52058de1f6a1b3bb574b9fd5e030c82
Diffstat (limited to 'src/com/android/bitmap/view')
-rw-r--r-- | src/com/android/bitmap/view/BitmapDrawableImageView.java | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/com/android/bitmap/view/BitmapDrawableImageView.java b/src/com/android/bitmap/view/BitmapDrawableImageView.java index 67ef3eb..37332e0 100644 --- a/src/com/android/bitmap/view/BitmapDrawableImageView.java +++ b/src/com/android/bitmap/view/BitmapDrawableImageView.java @@ -32,6 +32,7 @@ import com.android.bitmap.drawable.BasicBitmapDrawable; */ public class BitmapDrawableImageView extends ImageView { private BasicBitmapDrawable mDrawable; + private boolean mAttachedToWindow; public BitmapDrawableImageView(final Context context) { this(context, null); @@ -104,8 +105,25 @@ public class BitmapDrawableImageView extends ImageView { } @Override + protected void onAttachedToWindow() { + super.onAttachedToWindow(); + mAttachedToWindow = true; + } + + @Override protected void onDetachedFromWindow() { super.onDetachedFromWindow(); - unbindDrawable(); + mAttachedToWindow = false; + if (!hasTransientState()) { + unbindDrawable(); + } + } + + @Override + public void setHasTransientState(boolean hasTransientState) { + super.setHasTransientState(hasTransientState); + if (!hasTransientState && !mAttachedToWindow) { + unbindDrawable(); + } } } |