Skip to content

Instantly share code, notes, and snippets.

@benvd
Created May 31, 2013 09:16
Show Gist options
  • Star 37 You must be signed in to star a gist
  • Fork 10 You must be signed in to fork a gist
  • Save benvd/5683818 to your computer and use it in GitHub Desktop.
Save benvd/5683818 to your computer and use it in GitHub Desktop.
Extension of Volley's NetworkImageView that fades in images as they're loaded
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.drawable.*;
import android.util.AttributeSet;
import com.android.volley.toolbox.NetworkImageView;
public class FadeInNetworkImageView extends NetworkImageView {
private static final int FADE_IN_TIME_MS = 250;
public FadeInNetworkImageView(Context context) {
super(context);
}
public FadeInNetworkImageView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public FadeInNetworkImageView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public void setImageBitmap(Bitmap bm) {
TransitionDrawable td = new TransitionDrawable(new Drawable[]{
new ColorDrawable(android.R.color.transparent),
new BitmapDrawable(getContext().getResources(), bm)
});
setImageDrawable(td);
td.startTransition(FADE_IN_TIME_MS);
}
}
@slott
Copy link

slott commented May 20, 2015

For starters this will eliminate one "new".

private static ColorDrawable cd = new ColorDrawable(android.R.color.transparent);

and then

    TransitionDrawable td = new TransitionDrawable(new Drawable[]{
            cd,
            new BitmapDrawable(getContext().getResources(), bm)
    });

@Teiby1
Copy link

Teiby1 commented Jul 4, 2015

ColorDrawable can be replaced by getDrawable() if setDefaultImageResId() was called before.

@folivares
Copy link

Very useful! Is possible to remove the effect once that an image has been viewed? In a list of images the effect is annoying when scroll down and scroll up

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment