APNG4Android

Introduction: Android animation support for APNG & Animated WebP & Gif,High performance
More: Author   ReportBugs   
Tags:
  • Support APNG & Animated Webp & Gif in Android
  • Efficient decoder
  • Support Drawable usage and glide library module
  • Support animation play control
  • Support still image
  • Low memory usage

中文文档

Released versions

Usages

Add dependency in build.gradle

repositories {
    mavenCentral()
}

Animated WebP

dependencies {
    implementation 'com.github.penfeizhou.android.animation:awebp:${VERSION}'
}

APNG

dependencies {
    implementation 'com.github.penfeizhou.android.animation:apng:${VERSION}'
}

Gif

dependencies {
    implementation 'com.github.penfeizhou.android.animation:gif:${VERSION}'
}

Use

// Load from asset file
AssetStreamLoader assetLoader = new AssetStreamLoader(context, "wheel.png");


// Load form Resource
ResourceStreamLoader resourceLoader = new ResourceStreamLoader(context, R.drawable.sample);


// Load from file
FileStreamLoader fileLoader = new FileStreamLoader("/sdcard/Pictures/1.webp");


// Create APNG Drawable
APNGDrawable apngDrawable = new APNGDrawable(assetLoader);

//Create Animated webp drawable
WebPDrawable webpDrawable = new WebPDrawable(assetLoader);

// Auto play
imageView.setImageDrawable(apngDrawable);


// Not needed.default controlled by content
apngDrawable.setLoopLimit(10);


// Implement Animatable2Compat
drawable.registerAnimationCallback(new Animatable2Compat.AnimationCallback() {
    @Override
    public void onAnimationStart(Drawable drawable) {
        super.onAnimationStart(drawable);
    }
});

Glide support

Add dependency in build.gradle

repositories {
    ...
    mavenCentral()
}
dependencies {
    implementation 'com.github.penfeizhou.android.animation:glide-plugin:${VERSION}'
}

Direct use

Glide.with(imageView).load("https://misc.aotu.io/ONE-SUNDAY/SteamEngine.png").into(imageView);
Glide.with(imageView).load("https://isparta.github.io/compare-webp/image/gif_webp/webp/2.webp").into(imageView);
Apps
About Me
GitHub: Trinea
Facebook: Dev Tools