大家好,我写了一个在 Android 上播放 APNG 动画的 library,在加载和内存方面进行了优化,有需要请取用哦。
https://github.com/penfeizhou/APNG4Android
// 从 Asset 中加载
APNGAssetLoader assetLoader = new APNGAssetLoader(context, "wheel.png");
// 从 Resource 中加载
APNGResourceLoader resourceLoader = new APNGResourceLoader(context, R.drawable.sample);
// 从文件系统加载
APNGFileLoader fileLoader = new APNGFileLoader("/sdcard/Pictures/wheel.png");
// 创建 Drawable
APNGDrawable apngDrawable = new APNGDrawable(assetLoader);
// 设置后自动播放
imageView.setImageDrawable(apngDrawable);
// 设置重复次数
apngDrawable.setLoopLimit(10);
// 已实现 Animatable2Compat 接口
drawable.registerAnimationCallback(new Animatable2Compat.AnimationCallback() {
@Override
public void onAnimationStart(Drawable drawable) {
super.onAnimationStart(drawable);
}
});
满意的话给个 star,谢谢🙏
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.