Android UI SVGA使用

1. svga集成

1.1 在应用 build.gradle 中添加依赖

compile 'com.github.yyued:SVGAPlayer-Android:latest'

1.2 放置 svga 文件

SVGAPlayer 可以从本地 assets 目录,或者远端服务器上加载动画文件

1.3 使用 XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.opensource.svgaplayer.SVGAImageView
        android:layout_height="match_parent"
        android:layout_width="match_parent"
        app:source="posche.svga"
        app:autoPlay="true"
        android:background="#000" />

</RelativeLayout>

在 XML 中,允许定义以下这些标签:

// 用于表示 svga 文件的路径,提供一个在 assets 目录下的文件名,或者提供一个 http url 地址
source: String
// 默认为 true,当动画加载完成后,自动播放
autoPlay: Boolean
// 默认为 0,设置动画的循环次数,0 表示无限循环
loopCount: Int
// 默认为 true,当动画播放完成后,是否清空画布
clearsAfterStop: Boolean
// 默认为 Forward,可以是 Forward、 Backward
// Forward: 表示动画结束后,将停留在最后一帧
// Backward 表示动画结束后,将停留在第一帧
fillMode: String

1.4 使用代码

// 1. 创建一个 SVGAImageView 实例
SVGAImageView imageView = new SVGAImageView(this);
// 2. 创建一个 SVGAParser 实例,加载 assets 中的动画
parser = new SVGAParser(this);
parser.decodeFromAssets("test.svga", new SVGAParser.ParseCompletion() {
    
});
// 3. 创建一个 SVGAParser 实例,加载远端服务器中的动画
parser = new SVGAParser(this);
parser.decodeFromURL(new URL("https://github.com/yyued/SVGA-Samples/blob/master/posche.svga?raw=true"), new SVGAParser.ParseCompletion() {
    
});


2. 参考

  1. SVGA集成指南
  2. 直播App中Android酷炫礼物动画实现方案(上篇)

你可能感兴趣的:(动画,Android,礼物动画)