全面兼容各端的动画库PAG,对标Lottie

感谢Tencent 开源了PAG库,终于有了国人自己的动画库了,该库兼容:移动端,桌面端,,WEB端,还有小程序端,真可谓用心了,而且PAG库相对其他库,使用的pag文件更小,更流畅,而且PAG还兼容Lottie迁移过来的素材,PAG有自己合成素材的工具,使用起来也非常简单,文档也非常情况,感觉非常贴心!!

PAG库官网:https://pag.art/docs/sdk.html

PAG GitHub :https://github.com/Tencent/libpag

全面兼容各端的动画库PAG,对标Lottie_第1张图片

PAG 还为各端提供了Demo:

DEMO下载

iOS DEMO下载:

https://github.com/libpag/pag-ios.git

Android DEMO下载:

https://github.com/libpag/pag-android.git

Flutter Demo下载:

https://github.com/libpag/pag-flutter.git

Demo 运行后的截图:

全面兼容各端的动画库PAG,对标Lottie_第2张图片
全面兼容各端的动画库PAG,对标Lottie_第3张图片

接下来开始使用PAG:

1.SDK接入

Android端接入

基本要求

  • 支持android 4.4及以上系统

  • 推荐使用gradle 3.0及以上版本编译

aar接入

  1. 将libpag的aar文件放置在android工程项目的libs目录下

  1. 添加添加aar库依赖
    在app的gradle文件app/build.gradle,添加libpag的库依赖

    android {
        repositories {
        flatDir {
            dirs 'libs'
        }
    }
    
    dependencies {
        //libpag的核心库//将libpag_release_4.0.5.5换成你下载的aar文件名
        implementation(name: 'libpag_release_4.0.5.5', ext: 'aar')
        implementation("androidx.exifinterface:exifinterface:1.3.3")
    }
    

注意: 需要在混淆列表里面,添加libpag的keep规则:

    -keep classorg.libpag.** {*;}
    -keep classandroidx.exifinterface.** {*;}

配置完以后,sync一下,再编译。

maven接入

提供两个版本(以4.0.5.5版本为例):

full版本:com.tencent.tav:libpag:4.0.5.5,内部包含软件解码器,当硬解失败时使用

noffavc版本:com.tencent.tav:libpag:4.0.5.5-noffavc,内部不包含软件解码器,支持解码器外部注入

i. 在root工程目录下面修改build.gradle文件,增加mavenCentral()

buildscript {

    repositories {
        mavenCentral()
    }
    dependencies {
        classpath'com.android.tools.build:gradle:3.2.1'
    }
}
    

ii. 在app的gradle文件app/build.gradle,添加libpag的库依赖

    
    dependencies {
        //libpag的核心库implementation'com.tencent.tav:libpag:4.0.5.5'
    }
    

注意: 需要在混淆列表里面,添加libpag的keep规则:

    -keep classorg.libpag.** {*;}
    -keep classandroidx.exifinterface.** {*;}

配置完以后,sync一下,再编译。


iOS端接入

基本要求

  • 支持iOS9及以上

  • 需要使用Xcode11.0及以上版本进行编译

Framework接入

  1. 将libpag的framework文件放置在iOS工程项目目录下

  1. 在项目工程中,配置所使用Target的General->Embedded Binaries,添加libpag.framework

  1. 由于libpag暂时不支持Bitcode,需要配置Build Settings->Build Options->Enable Bitcode 为No

cocoapods接入

修改App目录下的Podfile文件,添加相应的libpag的引用.

pod'libpag'

SDK接入后,项目中开始使用,也非常简单,将设计做好的pag素材放到对用目录中,

安卓是放在Assets目录中

   PAGFile pagFile1 = PAGFile.Load(getAssets(), "XXX.pag");
    pagView.setComposition(pagFile1);
    pagView.setRepeatCount(0);
    pagView.play();
         

setRepeatCount(0)是循环播放的意思

你可能感兴趣的:(开发技术积累,android)