本文将带你了解Android应用开发之【Android】使用android-gif-drawable包加载GIF动图,希望本文对大家学Android有所帮助。
【导包】
首先需要导入android-gif-drawable包,请参考:【Android】实用教程:导入android-gif-drawable包,不用在GitHub下载(Android Studio 3.1.2)
【使用】
一、在layout中添加GifImageView控件,该控件既可以加载gif动态图,也可以加载jpg、png静态图。不需要设置src属性。
二、在java文件中,给GifImageView设置src属性,加载gif动态图。
1、获取GifImageView控件。
?1GifImageView gifImageView = findViewById(R.id.image);
2、实例化GifDrawable对象,共有11种方法。
(1)Resouces文件
源码:
/** * Creates drawable from resource. * * @param res Resources to read from * @param id resource id (raw or drawable) * @throws NotFoundException if the given ID does not exist. * @throws IOException when opening failed * @throws NullPointerException if res is null */public GifDrawable(@NonNull Resources res, @RawRes @DrawableRes int id) throws NotFoundException, IOException { this(res.openRawResourceFd(id)); final float densityScale = GifViewUtils.getDensityScale(res, id); mScaledHeight = (int) (mNativeInfoHandle.getHeight() * densityScale); mScaledWidth = (int) (mNativeInfoHandle.getWidth() * densityScale);}
示例:
// Resources fileGifDrawable gifFromAssets = new GifDrawable(getResources(), R.mipmap.timg);
(2)Assets文件
源码:
/** * Creates drawable from asset. * * @param assets AssetManager to read from * @param assetName name of the asset * @throws IOException