public class GifDrawable extends GlideDrawable implements com.bumptech.glide.load.resource.gif.GifFrameLoader.FrameCallback
Drawable that plays the frames of an animated GIF.Drawable.Callback, Drawable.ConstantStateLOOP_FOREVER, LOOP_INTRINSIC| Constructor and Description |
|---|
GifDrawable(Context context,
GifDecoder.BitmapProvider bitmapProvider,
BitmapPool bitmapPool,
Transformation<Bitmap> frameTransformation,
int targetFrameWidth,
int targetFrameHeight,
GifHeader gifHeader,
byte[] data,
Bitmap firstFrame)
Constructor for GifDrawable.
|
GifDrawable(GifDrawable other,
Bitmap firstFrame,
Transformation<Bitmap> frameTransformation) |
| Modifier and Type | Method and Description |
|---|---|
void |
draw(Canvas canvas) |
Drawable.ConstantState |
getConstantState() |
byte[] |
getData() |
GifDecoder |
getDecoder() |
Bitmap |
getFirstFrame() |
int |
getFrameCount() |
Transformation<Bitmap> |
getFrameTransformation() |
int |
getIntrinsicHeight() |
int |
getIntrinsicWidth() |
int |
getOpacity() |
boolean |
isAnimated()
Returns
true if this drawable is animated. |
boolean |
isRunning() |
protected void |
onBoundsChange(Rect bounds) |
void |
onFrameReady(int frameIndex) |
void |
recycle()
Clears any resources for loading frames that are currently held on to by this object.
|
void |
setAlpha(int i) |
void |
setColorFilter(ColorFilter colorFilter) |
void |
setFrameTransformation(Transformation<Bitmap> frameTransformation,
Bitmap firstFrame) |
void |
setLoopCount(int loopCount)
Sets the number of times the animation should loop.
|
boolean |
setVisible(boolean visible,
boolean restart) |
void |
start() |
void |
stop() |
clearColorFilter, copyBounds, copyBounds, createFromPath, createFromResourceStream, createFromResourceStream, createFromStream, createFromXml, createFromXmlInner, getAlpha, getBounds, getCallback, getChangingConfigurations, getCurrent, getLevel, getMinimumHeight, getMinimumWidth, getPadding, getState, getTransparentRegion, inflate, invalidateSelf, isAutoMirrored, isStateful, isVisible, jumpToCurrentState, mutate, onLevelChange, onStateChange, resolveOpacity, scheduleSelf, setAutoMirrored, setBounds, setBounds, setCallback, setChangingConfigurations, setColorFilter, setDither, setFilterBitmap, setLevel, setState, unscheduleSelfpublic GifDrawable(Context context, GifDecoder.BitmapProvider bitmapProvider, BitmapPool bitmapPool, Transformation<Bitmap> frameTransformation, int targetFrameWidth, int targetFrameHeight, GifHeader gifHeader, byte[] data, Bitmap firstFrame)
context - A context.bitmapProvider - An GifDecoder.BitmapProvider that can be used to
retrieve re-usable Bitmaps.bitmapPool - A BitmapPool that can be used to return
the first frame when this drawable is recycled.frameTransformation - An Transformation that can be applied to each frame.targetFrameWidth - The desired width of the frames displayed by this drawable (the width of the view or
Target this drawable is being loaded into).targetFrameHeight - The desired height of the frames displayed by this drawable (the height of the view or
Target this drawable is being loaded into).gifHeader - The header data for this gif.data - The full bytes of the gif.firstFrame - The decoded and transformed first frame of this gif.setFrameTransformation(com.bumptech.glide.load.Transformation, android.graphics.Bitmap)public GifDrawable(GifDrawable other, Bitmap firstFrame, Transformation<Bitmap> frameTransformation)
public Bitmap getFirstFrame()
public void setFrameTransformation(Transformation<Bitmap> frameTransformation, Bitmap firstFrame)
public GifDecoder getDecoder()
public Transformation<Bitmap> getFrameTransformation()
public byte[] getData()
public int getFrameCount()
public void start()
start in interface Animatablepublic void stop()
stop in interface Animatablepublic boolean setVisible(boolean visible,
boolean restart)
setVisible in class Drawablepublic int getIntrinsicWidth()
getIntrinsicWidth in class Drawablepublic int getIntrinsicHeight()
getIntrinsicHeight in class Drawablepublic boolean isRunning()
isRunning in interface Animatableprotected void onBoundsChange(Rect bounds)
onBoundsChange in class Drawablepublic void setColorFilter(ColorFilter colorFilter)
setColorFilter in class Drawablepublic int getOpacity()
getOpacity in class Drawablepublic void onFrameReady(int frameIndex)
onFrameReady in interface com.bumptech.glide.load.resource.gif.GifFrameLoader.FrameCallbackpublic Drawable.ConstantState getConstantState()
getConstantState in class Drawablepublic void recycle()
public boolean isAnimated()
GlideDrawabletrue if this drawable is animated.isAnimated in class GlideDrawablepublic void setLoopCount(int loopCount)
GlideDrawable()} returns true. A loop count of <=0 indicates loop forever.setLoopCount in class GlideDrawable