├── .gitignore ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── example │ │ └── lottietabviewdemo │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── assets │ │ ├── mainpage.json │ │ ├── news.json │ │ ├── trade.json │ │ └── user.json │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── lottietabviewdemo │ │ │ ├── DealFragment.java │ │ │ ├── MainActivity.java │ │ │ ├── MainFragment.java │ │ │ ├── MineFragment.java │ │ │ └── MsgFragment.java │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable-xxhdpi │ │ ├── ic_deal_normal.png │ │ ├── ic_deal_selected.png │ │ ├── ic_main_add.png │ │ ├── ic_main_normal.png │ │ ├── ic_main_selected.png │ │ ├── ic_mine_normal.png │ │ ├── ic_mine_selected.png │ │ ├── ic_msg_normal.png │ │ ├── ic_msg_selected.png │ │ └── tab_bottom_bg.png │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ ├── activity_main.xml │ │ ├── fragment_deal.xml │ │ ├── fragment_main.xml │ │ ├── fragment_mine.xml │ │ └── fragment_msg.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── java │ └── com │ └── example │ └── lottietabviewdemo │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── lottieview ├── .gitignore ├── build.gradle ├── consumer-rules.pro ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── chason │ │ └── lottieview │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── chason │ │ │ └── lottieview │ │ │ └── LottieTabView.java │ └── res │ │ ├── drawable-xhdpi │ │ └── rc_unread_count_bg.png │ │ ├── layout │ │ └── lottie_tab_view.xml │ │ └── values │ │ └── style.xml │ └── test │ └── java │ └── com │ └── chason │ └── lottieview │ └── ExampleUnitTest.java └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/caches 5 | /.idea/libraries 6 | /.idea/modules.xml 7 | /.idea/workspace.xml 8 | /.idea/navEditor.xml 9 | /.idea/assetWizardSettings.xml 10 | .DS_Store 11 | /build 12 | /captures 13 | .externalNativeBuild 14 | .cxx 15 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # lottieTabView [![](https://jitpack.io/v/wantWhat/lottieTabView.svg)](https://jitpack.io/#wantWhat/lottieTabView) 2 | 底部导航栏使用lottie动画 3 | 4 | # 效果图 5 | ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190402103908540.GIF) 6 | - 卡顿是因为录屏导致 7 | - 基于[airbnb lottie-android](https://github.com/airbnb/lottie-android)的封装 8 | - 动画资源在demo的assets目录下 9 | # 使用 10 | - 根目录的build.gradle 11 | ``` 12 | allprojects { 13 | repositories { 14 | google() 15 | jcenter() 16 | maven { url 'https://jitpack.io' } 17 | } 18 | } 19 | ``` 20 | - app 的build.gradle 21 | ``` 22 | dependencies { 23 | implementation 'com.github.wantWhat:lottieTabView:v1.0' 24 | } 25 | ``` 26 | - xml中 27 | ``` 28 | 38 | 39 | 51 | 52 | 65 | 66 | 75 | 76 | 89 | 90 | 102 | 103 | ``` 104 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 28 5 | 6 | defaultConfig { 7 | applicationId "com.example.lottietabviewdemo" 8 | minSdkVersion 23 9 | targetSdkVersion 28 10 | versionCode 1 11 | versionName "1.0" 12 | } 13 | 14 | buildTypes { 15 | release { 16 | minifyEnabled false 17 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 18 | } 19 | } 20 | } 21 | 22 | dependencies { 23 | implementation fileTree(dir: "libs", include: ["*.jar"]) 24 | implementation 'com.android.support:appcompat-v7:28.0.0' 25 | implementation project(path: ':lottieview') 26 | implementation 'com.android.support:support-v4:28.0.0' 27 | testImplementation 'junit:junit:4.12' 28 | implementation 'com.jakewharton:butterknife:8.8.1' 29 | annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1' 30 | 31 | } -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /app/src/androidTest/java/com/example/lottietabviewdemo/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.example.lottietabviewdemo; 2 | 3 | import android.content.Context; 4 | 5 | import androidx.test.platform.app.InstrumentationRegistry; 6 | import androidx.test.ext.junit.runners.AndroidJUnit4; 7 | 8 | import org.junit.Test; 9 | import org.junit.runner.RunWith; 10 | 11 | import static org.junit.Assert.*; 12 | 13 | /** 14 | * Instrumented test, which will execute on an Android device. 15 | * 16 | * @see Testing documentation 17 | */ 18 | @RunWith(AndroidJUnit4.class) 19 | public class ExampleInstrumentedTest { 20 | @Test 21 | public void useAppContext() { 22 | // Context of the app under test. 23 | Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); 24 | assertEquals("com.example.lottietabviewdemo", appContext.getPackageName()); 25 | } 26 | } -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/assets/mainpage.json: -------------------------------------------------------------------------------- 1 | {"v":"5.3.4","fr":25,"ip":0,"op":40,"w":125,"h":125,"nm":"首页动效","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"形状图层 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[62.5,62.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[10,40],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":341,"ix":4},"nm":"矩形路径 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.6,0.6,0.6,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.286,16.486],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"形状图层 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[60.322,64.935,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[106,106,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[3.5,-3],[0,0],[0,-16.258],[0,0],[-15.25,-0.036],[0,0],[0.031,10.313],[0,0],[8.912,7.204]],"o":[[0,0],[-3.5,3],[0,0],[0,13.875],[0,0],[13.375,0.031],[0,0],[-0.031,-10.253],[0,0],[-4.993,-4.036]],"v":[[-3.365,-60.459],[-48.688,-25.25],[-51.938,-18.581],[-52,43.008],[-36.094,55.844],[43,55.969],[55.984,42.031],[55.969,-13.469],[52.297,-25.378],[6.946,-60.986]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.6,0.6,0.6,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.6,0.6,0.6,1],"ix":4},"o":{"a":0,"k":1,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":true},{"ty":"tr","p":{"a":0,"k":[0.25,0.75],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[92.5,92.5],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"形状图层 1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":7,"s":[64.375,118.719,0],"e":[64.375,37.5,0],"to":[0,-13.5364580154419,0],"ti":[0,3.828125,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":11,"s":[64.375,37.5,0],"e":[64.375,95.75,0],"to":[0,-3.828125,0],"ti":[0,-3.79166674613953,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":16,"s":[64.375,95.75,0],"e":[64.375,60.25,0],"to":[0,3.79166674613953,0],"ti":[0,1.45833337306976,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":21,"s":[64.375,60.25,0],"e":[64.375,87,0],"to":[0,-1.45833337306976,0],"ti":[0,-2.625,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":26,"s":[64.375,87,0],"e":[64.375,76,0],"to":[0,2.625,0],"ti":[0,1.33333337306976,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":31,"s":[64.375,76,0],"e":[64.375,79,0],"to":[0,-1.33333337306976,0],"ti":[0,-0.5,0]},{"t":36}],"ix":2},"a":{"a":0,"k":[2.25,16.721,0],"ix":1},"s":{"a":0,"k":[100.007,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":7,"s":[10,0],"e":[10,60]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":11,"s":[10,60],"e":[10,30]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":16,"s":[10,30],"e":[10,44]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":21,"s":[10,44],"e":[10,38]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":26,"s":[10,38],"e":[10,41]},{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0"],"t":31,"s":[10,41],"e":[10,40]},{"t":36}],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":341,"ix":4},"nm":"矩形路径 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.286,16.486],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":2,"op":750,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"redbg","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[60.75,65.25,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[101.442,102.233,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[3.5,-3],[0,0],[0,-16.258],[0,0],[-15.25,-0.036],[0,0],[0.031,10.312],[0,0],[8.875,7.25]],"o":[[0,0],[-3.5,3],[0,0],[0,13.875],[0,0],[13.375,0.031],[0,0],[-0.031,-10.253],[0,0],[-8.626,-7.047]],"v":[[-6,-58.5],[-48.688,-25.25],[-51.938,-17.5],[-52,43.008],[-36.094,55.844],[43,55.969],[55.984,42.031],[55.969,-13.469],[50,-27],[9.75,-58.25]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.341176470588,0.341176470588,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 2","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":2,"op":750,"st":0,"bm":0}],"markers":[]} -------------------------------------------------------------------------------- /app/src/main/assets/news.json: -------------------------------------------------------------------------------- 1 | {"v":"5.3.4","fr":25,"ip":0,"op":73,"w":120,"h":120,"nm":"消息动效","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":1,"ty":4,"nm":"left01","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":2,"s":[259.375,100,0],"e":[79.334,100,0],"to":[-30.0068912506104,0,0],"ti":[20.0833339691162,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":9,"s":[79.334,100,0],"e":[136.875,100,0],"to":[-6.83407974243164,0,0],"ti":[-1.70880770683289,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":16,"s":[136.875,100,0],"e":[94.875,100,0],"to":[2.59022545814514,0,0],"ti":[2.58333325386047,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":23,"s":[94.875,100,0],"e":[121.375,100,0],"to":[-2.58333325386047,0,0],"ti":[-2.16666674613953,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":30,"s":[121.375,100,0],"e":[107.875,100,0],"to":[2.16666674613953,0,0],"ti":[1.41666662693024,0,0]},{"i":{"x":0.667,"y":0.851},"o":{"x":0.333,"y":0},"n":"0p667_0p851_0p333_0","t":37,"s":[107.875,100,0],"e":[116.566,100,0],"to":[-1.29591202735901,0,0],"ti":[-1.42495024204254,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.303,"y":1},"n":"0p667_1_0p303_1","t":44,"s":[116.566,100,0],"e":[115.375,100,0],"to":[0.13277859985828,0,0],"ti":[-0.08333333581686,0,0]},{"t":51}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[103.005,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20,20],"ix":2},"p":{"a":0,"k":[-4,-2],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-43.661,0.649],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":750,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"left02","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":3,"s":[225,100,0],"e":[78.5,100,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":10,"s":[78.5,100,0],"e":[136.5,100,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":17,"s":[136.5,100,0],"e":[96.5,100,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":24,"s":[96.5,100,0],"e":[121.5,100,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":31,"s":[121.5,100,0],"e":[106,100,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":38,"s":[106,100,0],"e":[111.5,100,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":45,"s":[111.5,100,0],"e":[110.5,100,0],"to":[0,0,0],"ti":[0,0,0]},{"t":52}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20,20],"ix":2},"p":{"a":0,"k":[1,-2],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-12.74,1.26],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":750,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"left03","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":4,"s":[118.25,99.5,0],"e":[-0.25,99.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":11,"s":[-0.25,99.5,0],"e":[67.75,99.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":18,"s":[67.75,99.5,0],"e":[18.25,99.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":25,"s":[18.25,99.5,0],"e":[51.75,99.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":32,"s":[51.75,99.5,0],"e":[32.25,99.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":39,"s":[32.25,99.5,0],"e":[36.25,99.5,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":46,"s":[36.25,99.5,0],"e":[34.75,99.5,0],"to":[0,0,0],"ti":[0,0,0]},{"t":53}],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[20,20],"ix":2},"p":{"a":0,"k":[3,-2],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[92.675,2.003],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":750,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"redbg","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[99,94.5,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,92.143,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.341176470588,0.341176470588,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 1","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[154,154],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":30,"ix":4},"nm":"矩形路径 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.341176470588,0.341176470588,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-0.135,5.365],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":750,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"形状图层 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[60,60,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14,14],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.341175991881,0.341175991881,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.6,0.6,0.6,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[25.11,-0.254],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"形状图层 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[59.732,59.857,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14.036,14.036],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.341175991881,0.341175991881,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.6,0.6,0.6,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.268,0.143],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"形状图层 3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[59.625,59.75,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[14,14],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,0.341175991881,0.341175991881,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.6,0.6,0.6,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-24.747,0.253],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"形状图层 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[60.331,60.187,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100.958,100.958,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[114.189,104.05],"ix":2},"p":{"a":0,"k":[9,0],"ix":3},"r":{"a":0,"k":21,"ix":4},"nm":"矩形路径 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[0.6,0.6,0.6,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5.5,"ix":5},"lc":2,"lj":2,"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.6,0.6,0.6,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-9.328,-0.186],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"形状图层 1","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[60,60,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"矩形路径 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-1.125,-0.5],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[76.968,71.293],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":750,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":0,"nm":"预合成 1","tt":1,"refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[60.75,60.5,0],"ix":2},"a":{"a":0,"k":[100,100,0],"ix":1},"s":{"a":0,"k":[78,78,100],"ix":6}},"ao":0,"w":200,"h":200,"ip":2,"op":750,"st":0,"bm":0}],"markers":[]} -------------------------------------------------------------------------------- /app/src/main/assets/trade.json: -------------------------------------------------------------------------------- 1 | { 2 | "v": "5.3.4", 3 | "fr": 25, 4 | "ip": 0, 5 | "op": 46, 6 | "w": 120, 7 | "h": 120, 8 | "nm": "交易动效", 9 | "ddd": 0, 10 | "assets": [ 11 | { 12 | "id": "comp_0", 13 | "layers": [ 14 | { 15 | "ddd": 0, 16 | "ind": 1, 17 | "ty": 4, 18 | "nm": "up", 19 | "sr": 1, 20 | "ks": { 21 | "o": { 22 | "a": 0, 23 | "k": 100, 24 | "ix": 11 25 | }, 26 | "r": { 27 | "a": 0, 28 | "k": 0, 29 | "ix": 10 30 | }, 31 | "p": { 32 | "a": 1, 33 | "k": [ 34 | { 35 | "i": { 36 | "x": 0.667, 37 | "y": 1 38 | }, 39 | "o": { 40 | "x": 0.333, 41 | "y": 0 42 | }, 43 | "n": "0p667_1_0p333_0", 44 | "t": 3, 45 | "s": [ 46 | 27, 47 | 134.375, 48 | 0 49 | ], 50 | "e": [ 51 | 122.044, 52 | 76.1, 53 | 0 54 | ], 55 | "to": [ 56 | 0, 57 | 0, 58 | 0 59 | ], 60 | "ti": [ 61 | 0, 62 | 0, 63 | 0 64 | ] 65 | }, 66 | { 67 | "i": { 68 | "x": 0.667, 69 | "y": 1 70 | }, 71 | "o": { 72 | "x": 0.333, 73 | "y": 0 74 | }, 75 | "n": "0p667_1_0p333_0", 76 | "t": 9, 77 | "s": [ 78 | 122.044, 79 | 76.1, 80 | 0 81 | ], 82 | "e": [ 83 | 73.784, 84 | 105.841, 85 | 0 86 | ], 87 | "to": [ 88 | 0, 89 | 0, 90 | 0 91 | ], 92 | "ti": [ 93 | 0, 94 | 0, 95 | 0 96 | ] 97 | }, 98 | { 99 | "i": { 100 | "x": 0.667, 101 | "y": 1 102 | }, 103 | "o": { 104 | "x": 0.333, 105 | "y": 0 106 | }, 107 | "n": "0p667_1_0p333_0", 108 | "t": 16, 109 | "s": [ 110 | 73.784, 111 | 105.841, 112 | 0 113 | ], 114 | "e": [ 115 | 105.854, 116 | 85.945, 117 | 0 118 | ], 119 | "to": [ 120 | 0, 121 | 0, 122 | 0 123 | ], 124 | "ti": [ 125 | 0, 126 | 0, 127 | 0 128 | ] 129 | }, 130 | { 131 | "i": { 132 | "x": 0.667, 133 | "y": 1 134 | }, 135 | "o": { 136 | "x": 0.333, 137 | "y": 0 138 | }, 139 | "n": "0p667_1_0p333_0", 140 | "t": 23, 141 | "s": [ 142 | 105.854, 143 | 85.945, 144 | 0 145 | ], 146 | "e": [ 147 | 88.43, 148 | 96.948, 149 | 0 150 | ], 151 | "to": [ 152 | 0, 153 | 0, 154 | 0 155 | ], 156 | "ti": [ 157 | 0, 158 | 0, 159 | 0 160 | ] 161 | }, 162 | { 163 | "i": { 164 | "x": 0.667, 165 | "y": 1 166 | }, 167 | "o": { 168 | "x": 0.333, 169 | "y": 0 170 | }, 171 | "n": "0p667_1_0p333_0", 172 | "t": 30, 173 | "s": [ 174 | 88.43, 175 | 96.948, 176 | 0 177 | ], 178 | "e": [ 179 | 101.322, 180 | 89.199, 181 | 0 182 | ], 183 | "to": [ 184 | 0, 185 | 0, 186 | 0 187 | ], 188 | "ti": [ 189 | 0, 190 | 0, 191 | 0 192 | ] 193 | }, 194 | { 195 | "i": { 196 | "x": 0.667, 197 | "y": 1 198 | }, 199 | "o": { 200 | "x": 0.333, 201 | "y": 0 202 | }, 203 | "n": "0p667_1_0p333_0", 204 | "t": 37, 205 | "s": [ 206 | 101.322, 207 | 89.199, 208 | 0 209 | ], 210 | "e": [ 211 | 97.25, 212 | 91.375, 213 | 0 214 | ], 215 | "to": [ 216 | 0, 217 | 0, 218 | 0 219 | ], 220 | "ti": [ 221 | 0, 222 | 0, 223 | 0 224 | ] 225 | }, 226 | { 227 | "t": 44 228 | } 229 | ], 230 | "ix": 2 231 | }, 232 | "a": { 233 | "a": 0, 234 | "k": [ 235 | 5.75, 236 | -17.5, 237 | 0 238 | ], 239 | "ix": 1 240 | }, 241 | "s": { 242 | "a": 0, 243 | "k": [ 244 | 100, 245 | 100, 246 | 100 247 | ], 248 | "ix": 6 249 | } 250 | }, 251 | "ao": 0, 252 | "shapes": [ 253 | { 254 | "ty": "gr", 255 | "it": [ 256 | { 257 | "ty": "rc", 258 | "d": 1, 259 | "s": { 260 | "a": 0, 261 | "k": [ 262 | 20, 263 | 7 264 | ], 265 | "ix": 2 266 | }, 267 | "p": { 268 | "a": 0, 269 | "k": [ 270 | 0, 271 | 0 272 | ], 273 | "ix": 3 274 | }, 275 | "r": { 276 | "a": 0, 277 | "k": 20, 278 | "ix": 4 279 | }, 280 | "nm": "矩形路径 1", 281 | "mn": "ADBE Vector Shape - Rect", 282 | "hd": false 283 | }, 284 | { 285 | "ty": "st", 286 | "c": { 287 | "a": 0, 288 | "k": [ 289 | 1, 290 | 1, 291 | 1, 292 | 1 293 | ], 294 | "ix": 3 295 | }, 296 | "o": { 297 | "a": 0, 298 | "k": 100, 299 | "ix": 4 300 | }, 301 | "w": { 302 | "a": 0, 303 | "k": 0, 304 | "ix": 5 305 | }, 306 | "lc": 1, 307 | "lj": 1, 308 | "ml": 4, 309 | "ml2": { 310 | "a": 0, 311 | "k": 4, 312 | "ix": 8 313 | }, 314 | "nm": "描边 1", 315 | "mn": "ADBE Vector Graphic - Stroke", 316 | "hd": false 317 | }, 318 | { 319 | "ty": "fl", 320 | "c": { 321 | "a": 0, 322 | "k": [ 323 | 1, 324 | 1, 325 | 1, 326 | 1 327 | ], 328 | "ix": 4 329 | }, 330 | "o": { 331 | "a": 0, 332 | "k": 100, 333 | "ix": 5 334 | }, 335 | "r": 1, 336 | "nm": "填充 1", 337 | "mn": "ADBE Vector Graphic - Fill", 338 | "hd": false 339 | }, 340 | { 341 | "ty": "tr", 342 | "p": { 343 | "a": 0, 344 | "k": [ 345 | 13.945, 346 | -26.446 347 | ], 348 | "ix": 2 349 | }, 350 | "a": { 351 | "a": 0, 352 | "k": [ 353 | 0, 354 | 0 355 | ], 356 | "ix": 1 357 | }, 358 | "s": { 359 | "a": 0, 360 | "k": [ 361 | 100, 362 | 100 363 | ], 364 | "ix": 3 365 | }, 366 | "r": { 367 | "a": 0, 368 | "k": 15, 369 | "ix": 6 370 | }, 371 | "o": { 372 | "a": 0, 373 | "k": 100, 374 | "ix": 7 375 | }, 376 | "sk": { 377 | "a": 0, 378 | "k": 0, 379 | "ix": 4 380 | }, 381 | "sa": { 382 | "a": 0, 383 | "k": 0, 384 | "ix": 5 385 | }, 386 | "nm": "变换" 387 | } 388 | ], 389 | "nm": "矩形 2", 390 | "np": 3, 391 | "cix": 2, 392 | "ix": 1, 393 | "mn": "ADBE Vector Group", 394 | "hd": false 395 | }, 396 | { 397 | "ty": "gr", 398 | "it": [ 399 | { 400 | "ty": "rc", 401 | "d": 1, 402 | "s": { 403 | "a": 0, 404 | "k": [ 405 | 41, 406 | 7 407 | ], 408 | "ix": 2 409 | }, 410 | "p": { 411 | "a": 0, 412 | "k": [ 413 | 0, 414 | 0 415 | ], 416 | "ix": 3 417 | }, 418 | "r": { 419 | "a": 0, 420 | "k": 20, 421 | "ix": 4 422 | }, 423 | "nm": "矩形路径 1", 424 | "mn": "ADBE Vector Shape - Rect", 425 | "hd": false 426 | }, 427 | { 428 | "ty": "st", 429 | "c": { 430 | "a": 0, 431 | "k": [ 432 | 1, 433 | 1, 434 | 1, 435 | 1 436 | ], 437 | "ix": 3 438 | }, 439 | "o": { 440 | "a": 0, 441 | "k": 100, 442 | "ix": 4 443 | }, 444 | "w": { 445 | "a": 0, 446 | "k": 0, 447 | "ix": 5 448 | }, 449 | "lc": 1, 450 | "lj": 1, 451 | "ml": 4, 452 | "ml2": { 453 | "a": 0, 454 | "k": 4, 455 | "ix": 8 456 | }, 457 | "nm": "描边 1", 458 | "mn": "ADBE Vector Graphic - Stroke", 459 | "hd": false 460 | }, 461 | { 462 | "ty": "fl", 463 | "c": { 464 | "a": 0, 465 | "k": [ 466 | 1, 467 | 1, 468 | 1, 469 | 1 470 | ], 471 | "ix": 4 472 | }, 473 | "o": { 474 | "a": 0, 475 | "k": 100, 476 | "ix": 5 477 | }, 478 | "r": 1, 479 | "nm": "填充 1", 480 | "mn": "ADBE Vector Graphic - Fill", 481 | "hd": false 482 | }, 483 | { 484 | "ty": "tr", 485 | "p": { 486 | "a": 0, 487 | "k": [ 488 | 5.528, 489 | -16.285 490 | ], 491 | "ix": 2 492 | }, 493 | "a": { 494 | "a": 0, 495 | "k": [ 496 | 0, 497 | 0 498 | ], 499 | "ix": 1 500 | }, 501 | "s": { 502 | "a": 0, 503 | "k": [ 504 | 100, 505 | 100 506 | ], 507 | "ix": 3 508 | }, 509 | "r": { 510 | "a": 0, 511 | "k": -30, 512 | "ix": 6 513 | }, 514 | "o": { 515 | "a": 0, 516 | "k": 100, 517 | "ix": 7 518 | }, 519 | "sk": { 520 | "a": 0, 521 | "k": 0, 522 | "ix": 4 523 | }, 524 | "sa": { 525 | "a": 0, 526 | "k": 0, 527 | "ix": 5 528 | }, 529 | "nm": "变换" 530 | } 531 | ], 532 | "nm": "矩形 1", 533 | "np": 3, 534 | "cix": 2, 535 | "ix": 2, 536 | "mn": "ADBE Vector Group", 537 | "hd": false 538 | } 539 | ], 540 | "ip": 0, 541 | "op": 750, 542 | "st": 0, 543 | "bm": 0 544 | }, 545 | { 546 | "ddd": 0, 547 | "ind": 2, 548 | "ty": 4, 549 | "nm": "down", 550 | "sr": 1, 551 | "ks": { 552 | "o": { 553 | "a": 0, 554 | "k": 100, 555 | "ix": 11 556 | }, 557 | "r": { 558 | "a": 0, 559 | "k": 180, 560 | "ix": 10 561 | }, 562 | "p": { 563 | "a": 1, 564 | "k": [ 565 | { 566 | "i": { 567 | "x": 0.667, 568 | "y": 1 569 | }, 570 | "o": { 571 | "x": 0.333, 572 | "y": 0 573 | }, 574 | "n": "0p667_1_0p333_0", 575 | "t": 3, 576 | "s": [ 577 | 174.875, 578 | 70.625, 579 | 0 580 | ], 581 | "e": [ 582 | 74.994, 583 | 124.025, 584 | 0 585 | ], 586 | "to": [ 587 | 0, 588 | 0, 589 | 0 590 | ], 591 | "ti": [ 592 | 0, 593 | 0, 594 | 0 595 | ] 596 | }, 597 | { 598 | "i": { 599 | "x": 0.667, 600 | "y": 1 601 | }, 602 | "o": { 603 | "x": 0.333, 604 | "y": 0 605 | }, 606 | "n": "0p667_1_0p333_0", 607 | "t": 9, 608 | "s": [ 609 | 74.994, 610 | 124.025, 611 | 0 612 | ], 613 | "e": [ 614 | 128.673, 615 | 95.258, 616 | 0 617 | ], 618 | "to": [ 619 | 0, 620 | 0, 621 | 0 622 | ], 623 | "ti": [ 624 | 0, 625 | 0, 626 | 0 627 | ] 628 | }, 629 | { 630 | "i": { 631 | "x": 0.667, 632 | "y": 1 633 | }, 634 | "o": { 635 | "x": 0.333, 636 | "y": 0 637 | }, 638 | "n": "0p667_1_0p333_0", 639 | "t": 16, 640 | "s": [ 641 | 128.673, 642 | 95.258, 643 | 0 644 | ], 645 | "e": [ 646 | 92.374, 647 | 114.671, 648 | 0 649 | ], 650 | "to": [ 651 | 0, 652 | 0, 653 | 0 654 | ], 655 | "ti": [ 656 | 0, 657 | 0, 658 | 0 659 | ] 660 | }, 661 | { 662 | "i": { 663 | "x": 0.667, 664 | "y": 1 665 | }, 666 | "o": { 667 | "x": 0.333, 668 | "y": 0 669 | }, 670 | "n": "0p667_1_0p333_0", 671 | "t": 23, 672 | "s": [ 673 | 92.374, 674 | 114.671, 675 | 0 676 | ], 677 | "e": [ 678 | 109.336, 679 | 105.868, 680 | 0 681 | ], 682 | "to": [ 683 | 0, 684 | 0, 685 | 0 686 | ], 687 | "ti": [ 688 | 0, 689 | 0, 690 | 0 691 | ] 692 | }, 693 | { 694 | "i": { 695 | "x": 0.667, 696 | "y": 1 697 | }, 698 | "o": { 699 | "x": 0.333, 700 | "y": 0 701 | }, 702 | "n": "0p667_1_0p333_0", 703 | "t": 30, 704 | "s": [ 705 | 109.336, 706 | 105.868, 707 | 0 708 | ], 709 | "e": [ 710 | 100.286, 711 | 110.535, 712 | 0 713 | ], 714 | "to": [ 715 | 0, 716 | 0, 717 | 0 718 | ], 719 | "ti": [ 720 | 0, 721 | 0, 722 | 0 723 | ] 724 | }, 725 | { 726 | "i": { 727 | "x": 0.667, 728 | "y": 1 729 | }, 730 | "o": { 731 | "x": 0.333, 732 | "y": 0 733 | }, 734 | "n": "0p667_1_0p333_0", 735 | "t": 37, 736 | "s": [ 737 | 100.286, 738 | 110.535, 739 | 0 740 | ], 741 | "e": [ 742 | 104.031, 743 | 108.469, 744 | 0 745 | ], 746 | "to": [ 747 | 0, 748 | 0, 749 | 0 750 | ], 751 | "ti": [ 752 | 0, 753 | 0, 754 | 0 755 | ] 756 | }, 757 | { 758 | "t": 44 759 | } 760 | ], 761 | "ix": 2 762 | }, 763 | "a": { 764 | "a": 0, 765 | "k": [ 766 | 5.75, 767 | -18.75, 768 | 0 769 | ], 770 | "ix": 1 771 | }, 772 | "s": { 773 | "a": 0, 774 | "k": [ 775 | 100, 776 | 100, 777 | 100 778 | ], 779 | "ix": 6 780 | } 781 | }, 782 | "ao": 0, 783 | "shapes": [ 784 | { 785 | "ty": "gr", 786 | "it": [ 787 | { 788 | "ty": "rc", 789 | "d": 1, 790 | "s": { 791 | "a": 0, 792 | "k": [ 793 | 20, 794 | 7 795 | ], 796 | "ix": 2 797 | }, 798 | "p": { 799 | "a": 0, 800 | "k": [ 801 | 0, 802 | 0 803 | ], 804 | "ix": 3 805 | }, 806 | "r": { 807 | "a": 0, 808 | "k": 20, 809 | "ix": 4 810 | }, 811 | "nm": "矩形路径 1", 812 | "mn": "ADBE Vector Shape - Rect", 813 | "hd": false 814 | }, 815 | { 816 | "ty": "st", 817 | "c": { 818 | "a": 0, 819 | "k": [ 820 | 1, 821 | 1, 822 | 1, 823 | 1 824 | ], 825 | "ix": 3 826 | }, 827 | "o": { 828 | "a": 0, 829 | "k": 100, 830 | "ix": 4 831 | }, 832 | "w": { 833 | "a": 0, 834 | "k": 0, 835 | "ix": 5 836 | }, 837 | "lc": 1, 838 | "lj": 1, 839 | "ml": 4, 840 | "ml2": { 841 | "a": 0, 842 | "k": 4, 843 | "ix": 8 844 | }, 845 | "nm": "描边 1", 846 | "mn": "ADBE Vector Graphic - Stroke", 847 | "hd": false 848 | }, 849 | { 850 | "ty": "fl", 851 | "c": { 852 | "a": 0, 853 | "k": [ 854 | 1, 855 | 1, 856 | 1, 857 | 1 858 | ], 859 | "ix": 4 860 | }, 861 | "o": { 862 | "a": 0, 863 | "k": 100, 864 | "ix": 5 865 | }, 866 | "r": 1, 867 | "nm": "填充 1", 868 | "mn": "ADBE Vector Graphic - Fill", 869 | "hd": false 870 | }, 871 | { 872 | "ty": "tr", 873 | "p": { 874 | "a": 0, 875 | "k": [ 876 | 13.945, 877 | -26.446 878 | ], 879 | "ix": 2 880 | }, 881 | "a": { 882 | "a": 0, 883 | "k": [ 884 | 0, 885 | 0 886 | ], 887 | "ix": 1 888 | }, 889 | "s": { 890 | "a": 0, 891 | "k": [ 892 | 100, 893 | 100 894 | ], 895 | "ix": 3 896 | }, 897 | "r": { 898 | "a": 0, 899 | "k": 15, 900 | "ix": 6 901 | }, 902 | "o": { 903 | "a": 0, 904 | "k": 100, 905 | "ix": 7 906 | }, 907 | "sk": { 908 | "a": 0, 909 | "k": 0, 910 | "ix": 4 911 | }, 912 | "sa": { 913 | "a": 0, 914 | "k": 0, 915 | "ix": 5 916 | }, 917 | "nm": "变换" 918 | } 919 | ], 920 | "nm": "矩形 2", 921 | "np": 3, 922 | "cix": 2, 923 | "ix": 1, 924 | "mn": "ADBE Vector Group", 925 | "hd": false 926 | }, 927 | { 928 | "ty": "gr", 929 | "it": [ 930 | { 931 | "ty": "rc", 932 | "d": 1, 933 | "s": { 934 | "a": 0, 935 | "k": [ 936 | 41, 937 | 7 938 | ], 939 | "ix": 2 940 | }, 941 | "p": { 942 | "a": 0, 943 | "k": [ 944 | 0, 945 | 0 946 | ], 947 | "ix": 3 948 | }, 949 | "r": { 950 | "a": 0, 951 | "k": 20, 952 | "ix": 4 953 | }, 954 | "nm": "矩形路径 1", 955 | "mn": "ADBE Vector Shape - Rect", 956 | "hd": false 957 | }, 958 | { 959 | "ty": "st", 960 | "c": { 961 | "a": 0, 962 | "k": [ 963 | 1, 964 | 1, 965 | 1, 966 | 1 967 | ], 968 | "ix": 3 969 | }, 970 | "o": { 971 | "a": 0, 972 | "k": 100, 973 | "ix": 4 974 | }, 975 | "w": { 976 | "a": 0, 977 | "k": 0, 978 | "ix": 5 979 | }, 980 | "lc": 1, 981 | "lj": 1, 982 | "ml": 4, 983 | "ml2": { 984 | "a": 0, 985 | "k": 4, 986 | "ix": 8 987 | }, 988 | "nm": "描边 1", 989 | "mn": "ADBE Vector Graphic - Stroke", 990 | "hd": false 991 | }, 992 | { 993 | "ty": "fl", 994 | "c": { 995 | "a": 0, 996 | "k": [ 997 | 1, 998 | 1, 999 | 1, 1000 | 1 1001 | ], 1002 | "ix": 4 1003 | }, 1004 | "o": { 1005 | "a": 0, 1006 | "k": 100, 1007 | "ix": 5 1008 | }, 1009 | "r": 1, 1010 | "nm": "填充 1", 1011 | "mn": "ADBE Vector Graphic - Fill", 1012 | "hd": false 1013 | }, 1014 | { 1015 | "ty": "tr", 1016 | "p": { 1017 | "a": 0, 1018 | "k": [ 1019 | 5.528, 1020 | -16.285 1021 | ], 1022 | "ix": 2 1023 | }, 1024 | "a": { 1025 | "a": 0, 1026 | "k": [ 1027 | 0, 1028 | 0 1029 | ], 1030 | "ix": 1 1031 | }, 1032 | "s": { 1033 | "a": 0, 1034 | "k": [ 1035 | 100, 1036 | 100 1037 | ], 1038 | "ix": 3 1039 | }, 1040 | "r": { 1041 | "a": 0, 1042 | "k": -30, 1043 | "ix": 6 1044 | }, 1045 | "o": { 1046 | "a": 0, 1047 | "k": 100, 1048 | "ix": 7 1049 | }, 1050 | "sk": { 1051 | "a": 0, 1052 | "k": 0, 1053 | "ix": 4 1054 | }, 1055 | "sa": { 1056 | "a": 0, 1057 | "k": 0, 1058 | "ix": 5 1059 | }, 1060 | "nm": "变换" 1061 | } 1062 | ], 1063 | "nm": "矩形 1", 1064 | "np": 3, 1065 | "cix": 2, 1066 | "ix": 2, 1067 | "mn": "ADBE Vector Group", 1068 | "hd": false 1069 | } 1070 | ], 1071 | "ip": 0, 1072 | "op": 750, 1073 | "st": 0, 1074 | "bm": 0 1075 | }, 1076 | { 1077 | "ddd": 0, 1078 | "ind": 3, 1079 | "ty": 4, 1080 | "nm": "redbg", 1081 | "sr": 1, 1082 | "ks": { 1083 | "o": { 1084 | "a": 0, 1085 | "k": 100, 1086 | "ix": 11 1087 | }, 1088 | "r": { 1089 | "a": 0, 1090 | "k": 0, 1091 | "ix": 10 1092 | }, 1093 | "p": { 1094 | "a": 0, 1095 | "k": [ 1096 | 100, 1097 | 100, 1098 | 0 1099 | ], 1100 | "ix": 2 1101 | }, 1102 | "a": { 1103 | "a": 0, 1104 | "k": [ 1105 | 0, 1106 | 0, 1107 | 0 1108 | ], 1109 | "ix": 1 1110 | }, 1111 | "s": { 1112 | "a": 0, 1113 | "k": [ 1114 | 100, 1115 | 100, 1116 | 100 1117 | ], 1118 | "ix": 6 1119 | } 1120 | }, 1121 | "ao": 0, 1122 | "shapes": [ 1123 | { 1124 | "ty": "gr", 1125 | "it": [ 1126 | { 1127 | "d": 1, 1128 | "ty": "el", 1129 | "s": { 1130 | "a": 0, 1131 | "k": [ 1132 | 120, 1133 | 120 1134 | ], 1135 | "ix": 2 1136 | }, 1137 | "p": { 1138 | "a": 0, 1139 | "k": [ 1140 | 0, 1141 | 0 1142 | ], 1143 | "ix": 3 1144 | }, 1145 | "nm": "椭圆路径 1", 1146 | "mn": "ADBE Vector Shape - Ellipse", 1147 | "hd": false 1148 | }, 1149 | { 1150 | "ty": "st", 1151 | "c": { 1152 | "a": 0, 1153 | "k": [ 1154 | 1, 1155 | 0.341176470588, 1156 | 0.341176470588, 1157 | 1 1158 | ], 1159 | "ix": 3 1160 | }, 1161 | "o": { 1162 | "a": 0, 1163 | "k": 100, 1164 | "ix": 4 1165 | }, 1166 | "w": { 1167 | "a": 0, 1168 | "k": 0, 1169 | "ix": 5 1170 | }, 1171 | "lc": 1, 1172 | "lj": 1, 1173 | "ml": 4, 1174 | "ml2": { 1175 | "a": 0, 1176 | "k": 4, 1177 | "ix": 8 1178 | }, 1179 | "nm": "描边 1", 1180 | "mn": "ADBE Vector Graphic - Stroke", 1181 | "hd": false 1182 | }, 1183 | { 1184 | "ty": "fl", 1185 | "c": { 1186 | "a": 0, 1187 | "k": [ 1188 | 1, 1189 | 0.341176470588, 1190 | 0.341176470588, 1191 | 1 1192 | ], 1193 | "ix": 4 1194 | }, 1195 | "o": { 1196 | "a": 0, 1197 | "k": 100, 1198 | "ix": 5 1199 | }, 1200 | "r": 1, 1201 | "nm": "填充 1", 1202 | "mn": "ADBE Vector Graphic - Fill", 1203 | "hd": false 1204 | }, 1205 | { 1206 | "ty": "tr", 1207 | "p": { 1208 | "a": 0, 1209 | "k": [ 1210 | 0.232, 1211 | 0.59 1212 | ], 1213 | "ix": 2 1214 | }, 1215 | "a": { 1216 | "a": 0, 1217 | "k": [ 1218 | 0, 1219 | 0 1220 | ], 1221 | "ix": 1 1222 | }, 1223 | "s": { 1224 | "a": 0, 1225 | "k": [ 1226 | 100, 1227 | 100 1228 | ], 1229 | "ix": 3 1230 | }, 1231 | "r": { 1232 | "a": 0, 1233 | "k": 0, 1234 | "ix": 6 1235 | }, 1236 | "o": { 1237 | "a": 0, 1238 | "k": 100, 1239 | "ix": 7 1240 | }, 1241 | "sk": { 1242 | "a": 0, 1243 | "k": 0, 1244 | "ix": 4 1245 | }, 1246 | "sa": { 1247 | "a": 0, 1248 | "k": 0, 1249 | "ix": 5 1250 | }, 1251 | "nm": "变换" 1252 | } 1253 | ], 1254 | "nm": "椭圆 1", 1255 | "np": 3, 1256 | "cix": 2, 1257 | "ix": 1, 1258 | "mn": "ADBE Vector Group", 1259 | "hd": false 1260 | } 1261 | ], 1262 | "ip": 0, 1263 | "op": 750, 1264 | "st": 0, 1265 | "bm": 0 1266 | } 1267 | ] 1268 | } 1269 | ], 1270 | "layers": [ 1271 | { 1272 | "ddd": 0, 1273 | "ind": 2, 1274 | "ty": 4, 1275 | "nm": "形状图层 1", 1276 | "td": 1, 1277 | "sr": 1, 1278 | "ks": { 1279 | "o": { 1280 | "a": 0, 1281 | "k": 100, 1282 | "ix": 11 1283 | }, 1284 | "r": { 1285 | "a": 0, 1286 | "k": 0, 1287 | "ix": 10 1288 | }, 1289 | "p": { 1290 | "a": 0, 1291 | "k": [ 1292 | 60, 1293 | 60, 1294 | 0 1295 | ], 1296 | "ix": 2 1297 | }, 1298 | "a": { 1299 | "a": 0, 1300 | "k": [ 1301 | 0, 1302 | 0, 1303 | 0 1304 | ], 1305 | "ix": 1 1306 | }, 1307 | "s": { 1308 | "a": 0, 1309 | "k": [ 1310 | 100, 1311 | 100, 1312 | 100 1313 | ], 1314 | "ix": 6 1315 | } 1316 | }, 1317 | "ao": 0, 1318 | "shapes": [ 1319 | { 1320 | "ty": "gr", 1321 | "it": [ 1322 | { 1323 | "d": 1, 1324 | "ty": "el", 1325 | "s": { 1326 | "a": 0, 1327 | "k": [ 1328 | 200, 1329 | 200 1330 | ], 1331 | "ix": 2 1332 | }, 1333 | "p": { 1334 | "a": 0, 1335 | "k": [ 1336 | 0, 1337 | 0 1338 | ], 1339 | "ix": 3 1340 | }, 1341 | "nm": "椭圆路径 1", 1342 | "mn": "ADBE Vector Shape - Ellipse", 1343 | "hd": false 1344 | }, 1345 | { 1346 | "ty": "st", 1347 | "c": { 1348 | "a": 0, 1349 | "k": [ 1350 | 1, 1351 | 1, 1352 | 1, 1353 | 1 1354 | ], 1355 | "ix": 3 1356 | }, 1357 | "o": { 1358 | "a": 0, 1359 | "k": 100, 1360 | "ix": 4 1361 | }, 1362 | "w": { 1363 | "a": 0, 1364 | "k": 0, 1365 | "ix": 5 1366 | }, 1367 | "lc": 1, 1368 | "lj": 1, 1369 | "ml": 4, 1370 | "ml2": { 1371 | "a": 0, 1372 | "k": 4, 1373 | "ix": 8 1374 | }, 1375 | "nm": "描边 1", 1376 | "mn": "ADBE Vector Graphic - Stroke", 1377 | "hd": false 1378 | }, 1379 | { 1380 | "ty": "fl", 1381 | "c": { 1382 | "a": 0, 1383 | "k": [ 1384 | 1, 1385 | 1, 1386 | 1, 1387 | 1 1388 | ], 1389 | "ix": 4 1390 | }, 1391 | "o": { 1392 | "a": 0, 1393 | "k": 100, 1394 | "ix": 5 1395 | }, 1396 | "r": 1, 1397 | "nm": "填充 1", 1398 | "mn": "ADBE Vector Graphic - Fill", 1399 | "hd": false 1400 | }, 1401 | { 1402 | "ty": "tr", 1403 | "p": { 1404 | "a": 0, 1405 | "k": [ 1406 | 0.328, 1407 | 0.434 1408 | ], 1409 | "ix": 2 1410 | }, 1411 | "a": { 1412 | "a": 0, 1413 | "k": [ 1414 | 0, 1415 | 0 1416 | ], 1417 | "ix": 1 1418 | }, 1419 | "s": { 1420 | "a": 0, 1421 | "k": [ 1422 | 60.464, 1423 | 60.464 1424 | ], 1425 | "ix": 3 1426 | }, 1427 | "r": { 1428 | "a": 0, 1429 | "k": 0, 1430 | "ix": 6 1431 | }, 1432 | "o": { 1433 | "a": 0, 1434 | "k": 100, 1435 | "ix": 7 1436 | }, 1437 | "sk": { 1438 | "a": 0, 1439 | "k": 0, 1440 | "ix": 4 1441 | }, 1442 | "sa": { 1443 | "a": 0, 1444 | "k": 0, 1445 | "ix": 5 1446 | }, 1447 | "nm": "变换" 1448 | } 1449 | ], 1450 | "nm": "椭圆 1", 1451 | "np": 3, 1452 | "cix": 2, 1453 | "ix": 1, 1454 | "mn": "ADBE Vector Group", 1455 | "hd": false 1456 | } 1457 | ], 1458 | "ip": 0, 1459 | "op": 750, 1460 | "st": 0, 1461 | "bm": 0 1462 | }, 1463 | { 1464 | "ddd": 0, 1465 | "ind": 3, 1466 | "ty": 0, 1467 | "nm": "预合成 1", 1468 | "tt": 1, 1469 | "refId": "comp_0", 1470 | "sr": 1, 1471 | "ks": { 1472 | "o": { 1473 | "a": 0, 1474 | "k": 100, 1475 | "ix": 11 1476 | }, 1477 | "r": { 1478 | "a": 0, 1479 | "k": 0, 1480 | "ix": 10 1481 | }, 1482 | "p": { 1483 | "a": 0, 1484 | "k": [ 1485 | 60, 1486 | 60, 1487 | 0 1488 | ], 1489 | "ix": 2 1490 | }, 1491 | "a": { 1492 | "a": 0, 1493 | "k": [ 1494 | 100, 1495 | 100, 1496 | 0 1497 | ], 1498 | "ix": 1 1499 | }, 1500 | "s": { 1501 | "a": 0, 1502 | "k": [ 1503 | 100, 1504 | 100, 1505 | 100 1506 | ], 1507 | "ix": 6 1508 | } 1509 | }, 1510 | "ao": 0, 1511 | "w": 200, 1512 | "h": 200, 1513 | "ip": 2, 1514 | "op": 750, 1515 | "st": 0, 1516 | "bm": 0 1517 | }, 1518 | { 1519 | "ddd": 0, 1520 | "ind": 4, 1521 | "ty": 4, 1522 | "nm": "redbg", 1523 | "sr": 1, 1524 | "ks": { 1525 | "o": { 1526 | "a": 0, 1527 | "k": 100, 1528 | "ix": 11 1529 | }, 1530 | "r": { 1531 | "a": 0, 1532 | "k": 0, 1533 | "ix": 10 1534 | }, 1535 | "p": { 1536 | "a": 0, 1537 | "k": [ 1538 | 67.5, 1539 | 60, 1540 | 0 1541 | ], 1542 | "ix": 2 1543 | }, 1544 | "a": { 1545 | "a": 0, 1546 | "k": [ 1547 | 0, 1548 | 0, 1549 | 0 1550 | ], 1551 | "ix": 1 1552 | }, 1553 | "s": { 1554 | "a": 0, 1555 | "k": [ 1556 | 100, 1557 | 100, 1558 | 100 1559 | ], 1560 | "ix": 6 1561 | } 1562 | }, 1563 | "ao": 0, 1564 | "shapes": [ 1565 | { 1566 | "ty": "gr", 1567 | "it": [ 1568 | { 1569 | "d": 1, 1570 | "ty": "el", 1571 | "s": { 1572 | "a": 0, 1573 | "k": [ 1574 | 115, 1575 | 115 1576 | ], 1577 | "ix": 2 1578 | }, 1579 | "p": { 1580 | "a": 0, 1581 | "k": [ 1582 | 0, 1583 | 0 1584 | ], 1585 | "ix": 3 1586 | }, 1587 | "nm": "椭圆路径 1", 1588 | "mn": "ADBE Vector Shape - Ellipse", 1589 | "hd": false 1590 | }, 1591 | { 1592 | "ty": "st", 1593 | "c": { 1594 | "a": 0, 1595 | "k": [ 1596 | 0.6, 1597 | 0.6, 1598 | 0.6, 1599 | 1 1600 | ], 1601 | "ix": 3 1602 | }, 1603 | "o": { 1604 | "a": 0, 1605 | "k": 100, 1606 | "ix": 4 1607 | }, 1608 | "w": { 1609 | "a": 0, 1610 | "k": 5, 1611 | "ix": 5 1612 | }, 1613 | "lc": 1, 1614 | "lj": 1, 1615 | "ml": 4, 1616 | "ml2": { 1617 | "a": 0, 1618 | "k": 4, 1619 | "ix": 8 1620 | }, 1621 | "nm": "描边 1", 1622 | "mn": "ADBE Vector Graphic - Stroke", 1623 | "hd": false 1624 | }, 1625 | { 1626 | "ty": "fl", 1627 | "c": { 1628 | "a": 0, 1629 | "k": [ 1630 | 1, 1631 | 0.341176470588, 1632 | 0.341176470588, 1633 | 1 1634 | ], 1635 | "ix": 4 1636 | }, 1637 | "o": { 1638 | "a": 0, 1639 | "k": 0, 1640 | "ix": 5 1641 | }, 1642 | "r": 1, 1643 | "nm": "填充 1", 1644 | "mn": "ADBE Vector Graphic - Fill", 1645 | "hd": false 1646 | }, 1647 | { 1648 | "ty": "tr", 1649 | "p": { 1650 | "a": 0, 1651 | "k": [ 1652 | -7.268, 1653 | 0.59 1654 | ], 1655 | "ix": 2 1656 | }, 1657 | "a": { 1658 | "a": 0, 1659 | "k": [ 1660 | 0, 1661 | 0 1662 | ], 1663 | "ix": 1 1664 | }, 1665 | "s": { 1666 | "a": 0, 1667 | "k": [ 1668 | 100, 1669 | 100 1670 | ], 1671 | "ix": 3 1672 | }, 1673 | "r": { 1674 | "a": 0, 1675 | "k": 0, 1676 | "ix": 6 1677 | }, 1678 | "o": { 1679 | "a": 0, 1680 | "k": 100, 1681 | "ix": 7 1682 | }, 1683 | "sk": { 1684 | "a": 0, 1685 | "k": 0, 1686 | "ix": 4 1687 | }, 1688 | "sa": { 1689 | "a": 0, 1690 | "k": 0, 1691 | "ix": 5 1692 | }, 1693 | "nm": "变换" 1694 | } 1695 | ], 1696 | "nm": "椭圆 1", 1697 | "np": 3, 1698 | "cix": 2, 1699 | "ix": 1, 1700 | "mn": "ADBE Vector Group", 1701 | "hd": false 1702 | } 1703 | ], 1704 | "ip": 0, 1705 | "op": 2, 1706 | "st": 0, 1707 | "bm": 0 1708 | }, 1709 | { 1710 | "ddd": 0, 1711 | "ind": 5, 1712 | "ty": 4, 1713 | "nm": "up", 1714 | "sr": 1, 1715 | "ks": { 1716 | "o": { 1717 | "a": 0, 1718 | "k": 100, 1719 | "ix": 11 1720 | }, 1721 | "r": { 1722 | "a": 0, 1723 | "k": 0, 1724 | "ix": 10 1725 | }, 1726 | "p": { 1727 | "a": 0, 1728 | "k": [ 1729 | 57.25, 1730 | 51.375, 1731 | 0 1732 | ], 1733 | "ix": 2 1734 | }, 1735 | "a": { 1736 | "a": 0, 1737 | "k": [ 1738 | 5.75, 1739 | -17.5, 1740 | 0 1741 | ], 1742 | "ix": 1 1743 | }, 1744 | "s": { 1745 | "a": 0, 1746 | "k": [ 1747 | 100, 1748 | 100, 1749 | 100 1750 | ], 1751 | "ix": 6 1752 | } 1753 | }, 1754 | "ao": 0, 1755 | "shapes": [ 1756 | { 1757 | "ty": "gr", 1758 | "it": [ 1759 | { 1760 | "ty": "rc", 1761 | "d": 1, 1762 | "s": { 1763 | "a": 0, 1764 | "k": [ 1765 | 20, 1766 | 7 1767 | ], 1768 | "ix": 2 1769 | }, 1770 | "p": { 1771 | "a": 0, 1772 | "k": [ 1773 | 0, 1774 | 0 1775 | ], 1776 | "ix": 3 1777 | }, 1778 | "r": { 1779 | "a": 0, 1780 | "k": 20, 1781 | "ix": 4 1782 | }, 1783 | "nm": "矩形路径 1", 1784 | "mn": "ADBE Vector Shape - Rect", 1785 | "hd": false 1786 | }, 1787 | { 1788 | "ty": "st", 1789 | "c": { 1790 | "a": 0, 1791 | "k": [ 1792 | 1, 1793 | 1, 1794 | 1, 1795 | 1 1796 | ], 1797 | "ix": 3 1798 | }, 1799 | "o": { 1800 | "a": 0, 1801 | "k": 100, 1802 | "ix": 4 1803 | }, 1804 | "w": { 1805 | "a": 0, 1806 | "k": 0, 1807 | "ix": 5 1808 | }, 1809 | "lc": 1, 1810 | "lj": 1, 1811 | "ml": 4, 1812 | "ml2": { 1813 | "a": 0, 1814 | "k": 4, 1815 | "ix": 8 1816 | }, 1817 | "nm": "描边 1", 1818 | "mn": "ADBE Vector Graphic - Stroke", 1819 | "hd": false 1820 | }, 1821 | { 1822 | "ty": "fl", 1823 | "c": { 1824 | "a": 0, 1825 | "k": [ 1826 | 0.6, 1827 | 0.6, 1828 | 0.6, 1829 | 1 1830 | ], 1831 | "ix": 4 1832 | }, 1833 | "o": { 1834 | "a": 0, 1835 | "k": 100, 1836 | "ix": 5 1837 | }, 1838 | "r": 1, 1839 | "nm": "填充 1", 1840 | "mn": "ADBE Vector Graphic - Fill", 1841 | "hd": false 1842 | }, 1843 | { 1844 | "ty": "tr", 1845 | "p": { 1846 | "a": 0, 1847 | "k": [ 1848 | 13.945, 1849 | -26.446 1850 | ], 1851 | "ix": 2 1852 | }, 1853 | "a": { 1854 | "a": 0, 1855 | "k": [ 1856 | 0, 1857 | 0 1858 | ], 1859 | "ix": 1 1860 | }, 1861 | "s": { 1862 | "a": 0, 1863 | "k": [ 1864 | 100, 1865 | 100 1866 | ], 1867 | "ix": 3 1868 | }, 1869 | "r": { 1870 | "a": 0, 1871 | "k": 15, 1872 | "ix": 6 1873 | }, 1874 | "o": { 1875 | "a": 0, 1876 | "k": 100, 1877 | "ix": 7 1878 | }, 1879 | "sk": { 1880 | "a": 0, 1881 | "k": 0, 1882 | "ix": 4 1883 | }, 1884 | "sa": { 1885 | "a": 0, 1886 | "k": 0, 1887 | "ix": 5 1888 | }, 1889 | "nm": "变换" 1890 | } 1891 | ], 1892 | "nm": "矩形 2", 1893 | "np": 3, 1894 | "cix": 2, 1895 | "ix": 1, 1896 | "mn": "ADBE Vector Group", 1897 | "hd": false 1898 | }, 1899 | { 1900 | "ty": "gr", 1901 | "it": [ 1902 | { 1903 | "ty": "rc", 1904 | "d": 1, 1905 | "s": { 1906 | "a": 0, 1907 | "k": [ 1908 | 41, 1909 | 7 1910 | ], 1911 | "ix": 2 1912 | }, 1913 | "p": { 1914 | "a": 0, 1915 | "k": [ 1916 | 0, 1917 | 0 1918 | ], 1919 | "ix": 3 1920 | }, 1921 | "r": { 1922 | "a": 0, 1923 | "k": 20, 1924 | "ix": 4 1925 | }, 1926 | "nm": "矩形路径 1", 1927 | "mn": "ADBE Vector Shape - Rect", 1928 | "hd": false 1929 | }, 1930 | { 1931 | "ty": "st", 1932 | "c": { 1933 | "a": 0, 1934 | "k": [ 1935 | 1, 1936 | 1, 1937 | 1, 1938 | 1 1939 | ], 1940 | "ix": 3 1941 | }, 1942 | "o": { 1943 | "a": 0, 1944 | "k": 100, 1945 | "ix": 4 1946 | }, 1947 | "w": { 1948 | "a": 0, 1949 | "k": 0, 1950 | "ix": 5 1951 | }, 1952 | "lc": 1, 1953 | "lj": 1, 1954 | "ml": 4, 1955 | "ml2": { 1956 | "a": 0, 1957 | "k": 4, 1958 | "ix": 8 1959 | }, 1960 | "nm": "描边 1", 1961 | "mn": "ADBE Vector Graphic - Stroke", 1962 | "hd": false 1963 | }, 1964 | { 1965 | "ty": "fl", 1966 | "c": { 1967 | "a": 0, 1968 | "k": [ 1969 | 0.6, 1970 | 0.6, 1971 | 0.6, 1972 | 1 1973 | ], 1974 | "ix": 4 1975 | }, 1976 | "o": { 1977 | "a": 0, 1978 | "k": 100, 1979 | "ix": 5 1980 | }, 1981 | "r": 1, 1982 | "nm": "填充 1", 1983 | "mn": "ADBE Vector Graphic - Fill", 1984 | "hd": false 1985 | }, 1986 | { 1987 | "ty": "tr", 1988 | "p": { 1989 | "a": 0, 1990 | "k": [ 1991 | 5.528, 1992 | -16.285 1993 | ], 1994 | "ix": 2 1995 | }, 1996 | "a": { 1997 | "a": 0, 1998 | "k": [ 1999 | 0, 2000 | 0 2001 | ], 2002 | "ix": 1 2003 | }, 2004 | "s": { 2005 | "a": 0, 2006 | "k": [ 2007 | 100, 2008 | 100 2009 | ], 2010 | "ix": 3 2011 | }, 2012 | "r": { 2013 | "a": 0, 2014 | "k": -30, 2015 | "ix": 6 2016 | }, 2017 | "o": { 2018 | "a": 0, 2019 | "k": 100, 2020 | "ix": 7 2021 | }, 2022 | "sk": { 2023 | "a": 0, 2024 | "k": 0, 2025 | "ix": 4 2026 | }, 2027 | "sa": { 2028 | "a": 0, 2029 | "k": 0, 2030 | "ix": 5 2031 | }, 2032 | "nm": "变换" 2033 | } 2034 | ], 2035 | "nm": "矩形 1", 2036 | "np": 3, 2037 | "cix": 2, 2038 | "ix": 2, 2039 | "mn": "ADBE Vector Group", 2040 | "hd": false 2041 | } 2042 | ], 2043 | "ip": 0, 2044 | "op": 2, 2045 | "st": 0, 2046 | "bm": 0 2047 | }, 2048 | { 2049 | "ddd": 0, 2050 | "ind": 6, 2051 | "ty": 4, 2052 | "nm": "down", 2053 | "sr": 1, 2054 | "ks": { 2055 | "o": { 2056 | "a": 0, 2057 | "k": 100, 2058 | "ix": 11 2059 | }, 2060 | "r": { 2061 | "a": 0, 2062 | "k": 180, 2063 | "ix": 10 2064 | }, 2065 | "p": { 2066 | "a": 0, 2067 | "k": [ 2068 | 64.031, 2069 | 68.469, 2070 | 0 2071 | ], 2072 | "ix": 2 2073 | }, 2074 | "a": { 2075 | "a": 0, 2076 | "k": [ 2077 | 5.75, 2078 | -18.75, 2079 | 0 2080 | ], 2081 | "ix": 1 2082 | }, 2083 | "s": { 2084 | "a": 0, 2085 | "k": [ 2086 | 100, 2087 | 100, 2088 | 100 2089 | ], 2090 | "ix": 6 2091 | } 2092 | }, 2093 | "ao": 0, 2094 | "shapes": [ 2095 | { 2096 | "ty": "gr", 2097 | "it": [ 2098 | { 2099 | "ty": "rc", 2100 | "d": 1, 2101 | "s": { 2102 | "a": 0, 2103 | "k": [ 2104 | 20, 2105 | 7 2106 | ], 2107 | "ix": 2 2108 | }, 2109 | "p": { 2110 | "a": 0, 2111 | "k": [ 2112 | 0, 2113 | 0 2114 | ], 2115 | "ix": 3 2116 | }, 2117 | "r": { 2118 | "a": 0, 2119 | "k": 20, 2120 | "ix": 4 2121 | }, 2122 | "nm": "矩形路径 1", 2123 | "mn": "ADBE Vector Shape - Rect", 2124 | "hd": false 2125 | }, 2126 | { 2127 | "ty": "st", 2128 | "c": { 2129 | "a": 0, 2130 | "k": [ 2131 | 1, 2132 | 1, 2133 | 1, 2134 | 1 2135 | ], 2136 | "ix": 3 2137 | }, 2138 | "o": { 2139 | "a": 0, 2140 | "k": 100, 2141 | "ix": 4 2142 | }, 2143 | "w": { 2144 | "a": 0, 2145 | "k": 0, 2146 | "ix": 5 2147 | }, 2148 | "lc": 1, 2149 | "lj": 1, 2150 | "ml": 4, 2151 | "ml2": { 2152 | "a": 0, 2153 | "k": 4, 2154 | "ix": 8 2155 | }, 2156 | "nm": "描边 1", 2157 | "mn": "ADBE Vector Graphic - Stroke", 2158 | "hd": false 2159 | }, 2160 | { 2161 | "ty": "fl", 2162 | "c": { 2163 | "a": 0, 2164 | "k": [ 2165 | 0.6, 2166 | 0.6, 2167 | 0.6, 2168 | 1 2169 | ], 2170 | "ix": 4 2171 | }, 2172 | "o": { 2173 | "a": 0, 2174 | "k": 100, 2175 | "ix": 5 2176 | }, 2177 | "r": 1, 2178 | "nm": "填充 1", 2179 | "mn": "ADBE Vector Graphic - Fill", 2180 | "hd": false 2181 | }, 2182 | { 2183 | "ty": "tr", 2184 | "p": { 2185 | "a": 0, 2186 | "k": [ 2187 | 13.945, 2188 | -26.446 2189 | ], 2190 | "ix": 2 2191 | }, 2192 | "a": { 2193 | "a": 0, 2194 | "k": [ 2195 | 0, 2196 | 0 2197 | ], 2198 | "ix": 1 2199 | }, 2200 | "s": { 2201 | "a": 0, 2202 | "k": [ 2203 | 100, 2204 | 100 2205 | ], 2206 | "ix": 3 2207 | }, 2208 | "r": { 2209 | "a": 0, 2210 | "k": 15, 2211 | "ix": 6 2212 | }, 2213 | "o": { 2214 | "a": 0, 2215 | "k": 100, 2216 | "ix": 7 2217 | }, 2218 | "sk": { 2219 | "a": 0, 2220 | "k": 0, 2221 | "ix": 4 2222 | }, 2223 | "sa": { 2224 | "a": 0, 2225 | "k": 0, 2226 | "ix": 5 2227 | }, 2228 | "nm": "变换" 2229 | } 2230 | ], 2231 | "nm": "矩形 2", 2232 | "np": 3, 2233 | "cix": 2, 2234 | "ix": 1, 2235 | "mn": "ADBE Vector Group", 2236 | "hd": false 2237 | }, 2238 | { 2239 | "ty": "gr", 2240 | "it": [ 2241 | { 2242 | "ty": "rc", 2243 | "d": 1, 2244 | "s": { 2245 | "a": 0, 2246 | "k": [ 2247 | 41, 2248 | 7 2249 | ], 2250 | "ix": 2 2251 | }, 2252 | "p": { 2253 | "a": 0, 2254 | "k": [ 2255 | 0, 2256 | 0 2257 | ], 2258 | "ix": 3 2259 | }, 2260 | "r": { 2261 | "a": 0, 2262 | "k": 20, 2263 | "ix": 4 2264 | }, 2265 | "nm": "矩形路径 1", 2266 | "mn": "ADBE Vector Shape - Rect", 2267 | "hd": false 2268 | }, 2269 | { 2270 | "ty": "st", 2271 | "c": { 2272 | "a": 0, 2273 | "k": [ 2274 | 1, 2275 | 1, 2276 | 1, 2277 | 1 2278 | ], 2279 | "ix": 3 2280 | }, 2281 | "o": { 2282 | "a": 0, 2283 | "k": 100, 2284 | "ix": 4 2285 | }, 2286 | "w": { 2287 | "a": 0, 2288 | "k": 0, 2289 | "ix": 5 2290 | }, 2291 | "lc": 1, 2292 | "lj": 1, 2293 | "ml": 4, 2294 | "ml2": { 2295 | "a": 0, 2296 | "k": 4, 2297 | "ix": 8 2298 | }, 2299 | "nm": "描边 1", 2300 | "mn": "ADBE Vector Graphic - Stroke", 2301 | "hd": false 2302 | }, 2303 | { 2304 | "ty": "fl", 2305 | "c": { 2306 | "a": 0, 2307 | "k": [ 2308 | 0.6, 2309 | 0.6, 2310 | 0.6, 2311 | 1 2312 | ], 2313 | "ix": 4 2314 | }, 2315 | "o": { 2316 | "a": 0, 2317 | "k": 100, 2318 | "ix": 5 2319 | }, 2320 | "r": 1, 2321 | "nm": "填充 1", 2322 | "mn": "ADBE Vector Graphic - Fill", 2323 | "hd": false 2324 | }, 2325 | { 2326 | "ty": "tr", 2327 | "p": { 2328 | "a": 0, 2329 | "k": [ 2330 | 5.528, 2331 | -16.285 2332 | ], 2333 | "ix": 2 2334 | }, 2335 | "a": { 2336 | "a": 0, 2337 | "k": [ 2338 | 0, 2339 | 0 2340 | ], 2341 | "ix": 1 2342 | }, 2343 | "s": { 2344 | "a": 0, 2345 | "k": [ 2346 | 100, 2347 | 100 2348 | ], 2349 | "ix": 3 2350 | }, 2351 | "r": { 2352 | "a": 0, 2353 | "k": -30, 2354 | "ix": 6 2355 | }, 2356 | "o": { 2357 | "a": 0, 2358 | "k": 100, 2359 | "ix": 7 2360 | }, 2361 | "sk": { 2362 | "a": 0, 2363 | "k": 0, 2364 | "ix": 4 2365 | }, 2366 | "sa": { 2367 | "a": 0, 2368 | "k": 0, 2369 | "ix": 5 2370 | }, 2371 | "nm": "变换" 2372 | } 2373 | ], 2374 | "nm": "矩形 1", 2375 | "np": 3, 2376 | "cix": 2, 2377 | "ix": 2, 2378 | "mn": "ADBE Vector Group", 2379 | "hd": false 2380 | } 2381 | ], 2382 | "ip": 0, 2383 | "op": 2, 2384 | "st": 0, 2385 | "bm": 0 2386 | } 2387 | ], 2388 | "markers": [] 2389 | } -------------------------------------------------------------------------------- /app/src/main/assets/user.json: -------------------------------------------------------------------------------- 1 | {"v":"5.3.4","fr":25,"ip":0,"op":61,"w":120,"h":120,"nm":"合成 2","ddd":0,"assets":[{"id":"comp_0","layers":[{"ddd":0,"ind":2,"ty":4,"nm":"face","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":30,"s":[0],"e":[100]},{"t":31}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.616,"y":0.945},"o":{"x":0.167,"y":0.167},"n":"0p616_0p945_0p167_0p167","t":-2,"s":[60,60,0],"e":[60,83.291,0],"to":[0,-0.78099006414413,0],"ti":[0,1.19897401332855,0]},{"i":{"x":0.678,"y":0.838},"o":{"x":0.343,"y":0.003},"n":"0p678_0p838_0p343_0p003","t":31,"s":[60,83.291,0],"e":[60,33.808,0],"to":[0,-0.20427069067955,0],"ti":[0,7.99756669998169,0]},{"i":{"x":0.677,"y":1},"o":{"x":0.343,"y":0.237},"n":"0p677_1_0p343_0p237","t":36,"s":[60,33.808,0],"e":[60,54,0],"to":[0,-5.16618967056274,0],"ti":[0,-0.07162638753653,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":39,"s":[60,54,0],"e":[60,65,0],"to":[0,0.83333331346512,0],"ti":[0,2,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":41,"s":[60,65,0],"e":[60,42,0],"to":[0,-2,0],"ti":[0,1.75,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":46,"s":[60,42,0],"e":[60,54.5,0],"to":[0,-1.75,0],"ti":[0,-0.58333331346512,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":51,"s":[60,54.5,0],"e":[60,45.5,0],"to":[0,0.58333331346512,0],"ti":[0,1.08333337306976,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":56,"s":[60,45.5,0],"e":[60,48,0],"to":[0,-1.08333337306976,0],"ti":[0,-0.41666665673256,0]},{"t":61}],"ix":2},"a":{"a":0,"k":[0,41.5,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.588,0.588,0.588],"y":[1,1,1]},"o":{"x":[0.177,0.177,0.177],"y":[0,0,0]},"n":["0p588_1_0p177_0","0p588_1_0p177_0","0p588_1_0p177_0"],"t":31,"s":[100,111.289,100],"e":[111.252,100,100]},{"i":{"x":[0.7,0.7,0.7],"y":[1,1,1]},"o":{"x":[0.35,0.35,0.35],"y":[0,0,0]},"n":["0p7_1_0p35_0","0p7_1_0p35_0","0p7_1_0p35_0"],"t":36,"s":[111.252,100,100],"e":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":39,"s":[100,100,100],"e":[92.654,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":41,"s":[92.654,100,100],"e":[109.026,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":46,"s":[109.026,100,100],"e":[92.725,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":51,"s":[92.725,100,100],"e":[100,100,100]},{"i":{"x":[0.667,0.667,0.667],"y":[1,1,1]},"o":{"x":[0.333,0.333,0.333],"y":[0,0,0]},"n":["0p667_1_0p333_0","0p667_1_0p333_0","0p667_1_0p333_0"],"t":56,"s":[100,100,100],"e":[100,100,100]},{"t":61}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 6","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 5","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 4","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 3","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 2","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0},"n":"0p833_0p833_0p167_0","t":31,"s":[{"i":[[2.812,0.099],[-4.535,-4.787],[-7.877,0.078],[-3.75,2.996],[7.006,-0.423],[7,-0.022]],"o":[[-4.079,-0.144],[3.438,3.628],[8.875,-0.088],[5.285,-4.222],[-2.875,0.174],[-6.378,0.02]],"v":[[-14.062,-18.563],[-19.875,-13.5],[0,-7.706],[19.125,-12.25],[13.562,-18.525],[0.062,-18.498]],"c":true}],"e":[{"i":[[2.5,0.134],[-2.062,-4.304],[-7.875,0.159],[-2.443,2.697],[7.371,-0.238],[5.359,-0.103]],"o":[[-4.075,-0.218],[1.696,3.538],[8.14,-0.161],[4.125,-4.554],[-2.64,0.085],[-5.272,0.1]],"v":[[-13.875,-19.125],[-19.875,-13.5],[-0.017,-9.534],[19.125,-12.25],[13.379,-19.003],[0.053,-18.939]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0.167},"n":"0p667_1_0p167_0p167","t":36,"s":[{"i":[[2.5,0.134],[-2.062,-4.304],[-7.875,0.159],[-2.443,2.697],[7.371,-0.238],[5.359,-0.103]],"o":[[-4.075,-0.218],[1.696,3.538],[8.14,-0.161],[4.125,-4.554],[-2.64,0.085],[-5.272,0.1]],"v":[[-13.875,-19.125],[-19.875,-13.5],[-0.017,-9.534],[19.125,-12.25],[13.379,-19.003],[0.053,-18.939]],"c":true}],"e":[{"i":[[1.875,0.941],[-2.288,-6.185],[-7.875,0.188],[-3.245,4.521],[6.338,-3.015],[4.812,-0.062]],"o":[[-3.647,-1.831],[1.688,4.562],[7.875,-0.188],[3.812,-5.312],[-3.688,1.754],[-4.875,0.062]],"v":[[-13.875,-19.125],[-19.875,-13.5],[0.062,-7.312],[19.125,-12.25],[13.313,-18.75],[-0.312,-17.375]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":39,"s":[{"i":[[1.875,0.941],[-2.288,-6.185],[-7.875,0.188],[-3.245,4.521],[6.338,-3.015],[4.812,-0.062]],"o":[[-3.647,-1.831],[1.688,4.562],[7.875,-0.188],[3.812,-5.312],[-3.688,1.754],[-4.875,0.062]],"v":[[-13.875,-19.125],[-19.875,-13.5],[0.062,-7.312],[19.125,-12.25],[13.313,-18.75],[-0.312,-17.375]],"c":true}],"e":[{"i":[[2.625,3.125],[-2.2,-6.217],[-7.875,0.188],[-4.25,6.504],[4.928,-4.998],[6.688,-0.371]],"o":[[-2.625,-3.125],[2.125,6.004],[7.875,-0.188],[3.577,-5.474],[-4.688,4.754],[-4.868,0.27]],"v":[[-13.875,-19.125],[-19.875,-13.5],[0.062,-2.125],[19.125,-12.25],[13.312,-18.75],[0.062,-10.375]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":41,"s":[{"i":[[2.625,3.125],[-2.2,-6.217],[-7.875,0.188],[-4.25,6.504],[4.928,-4.998],[6.688,-0.371]],"o":[[-2.625,-3.125],[2.125,6.004],[7.875,-0.188],[3.577,-5.474],[-4.688,4.754],[-4.868,0.27]],"v":[[-13.875,-19.125],[-19.875,-13.5],[0.062,-2.125],[19.125,-12.25],[13.312,-18.75],[0.062,-10.375]],"c":true}],"e":[{"i":[[2.125,1.129],[-2.288,-6.185],[-7.875,0.188],[-3.245,4.521],[6.466,-2.73],[3.058,-0.162]],"o":[[-3.604,-1.915],[1.688,4.562],[7.875,-0.188],[3.812,-5.312],[-3.563,1.504],[-2.438,0.129]],"v":[[-13.875,-19.125],[-19.875,-13.5],[0.312,-8.125],[19.125,-12.25],[13.313,-18.75],[0.062,-17.125]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":46,"s":[{"i":[[2.125,1.129],[-2.288,-6.185],[-7.875,0.188],[-3.245,4.521],[6.466,-2.73],[3.058,-0.162]],"o":[[-3.604,-1.915],[1.688,4.562],[7.875,-0.188],[3.812,-5.312],[-3.563,1.504],[-2.438,0.129]],"v":[[-13.875,-19.125],[-19.875,-13.5],[0.312,-8.125],[19.125,-12.25],[13.313,-18.75],[0.062,-17.125]],"c":true}],"e":[{"i":[[2.625,3.125],[-2.288,-6.185],[-7.875,0.188],[-3.245,4.521],[5.57,-4.27],[4.812,-0.062]],"o":[[-2.625,-3.125],[1.688,4.562],[7.875,-0.188],[3.812,-5.312],[-5.625,4.312],[-4.875,0.062]],"v":[[-13.875,-19.125],[-19.875,-13.5],[0.062,-2.875],[19.125,-12.25],[13.313,-18.75],[0.062,-11.875]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":51,"s":[{"i":[[2.625,3.125],[-2.288,-6.185],[-7.875,0.188],[-3.245,4.521],[5.57,-4.27],[4.812,-0.062]],"o":[[-2.625,-3.125],[1.688,4.562],[7.875,-0.188],[3.812,-5.312],[-5.625,4.312],[-4.875,0.062]],"v":[[-13.875,-19.125],[-19.875,-13.5],[0.062,-2.875],[19.125,-12.25],[13.313,-18.75],[0.062,-11.875]],"c":true}],"e":[{"i":[[2.625,3.125],[-2.288,-6.185],[-7.875,0.188],[-3.245,4.521],[5.57,-4.27],[4.812,-0.062]],"o":[[-2.625,-3.125],[1.688,4.562],[7.875,-0.188],[3.812,-5.312],[-5.625,4.312],[-4.875,0.062]],"v":[[-13.875,-19.125],[-19.875,-13.5],[0.062,-4.375],[19.125,-12.25],[13.313,-18.75],[-0.188,-13.5]],"c":true}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":56,"s":[{"i":[[2.625,3.125],[-2.288,-6.185],[-7.875,0.188],[-3.245,4.521],[5.57,-4.27],[4.812,-0.062]],"o":[[-2.625,-3.125],[1.688,4.562],[7.875,-0.188],[3.812,-5.312],[-5.625,4.312],[-4.875,0.062]],"v":[[-13.875,-19.125],[-19.875,-13.5],[0.062,-4.375],[19.125,-12.25],[13.313,-18.75],[-0.188,-13.5]],"c":true}],"e":[{"i":[[2.625,3.125],[-2.288,-6.185],[-7.875,0.188],[-3.245,4.521],[5.57,-4.27],[4.812,-0.062]],"o":[[-2.625,-3.125],[1.688,4.562],[7.875,-0.188],[3.812,-5.312],[-5.625,4.312],[-4.875,0.062]],"v":[[-13.875,-19.125],[-19.875,-13.5],[0.062,-3.875],[19.125,-12.25],[13.313,-18.75],[-0.062,-13]],"c":true}]},{"t":61}],"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,52.121],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 1","np":3,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":75,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"形状模糊","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":9,"s":[0],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":10,"s":[100],"e":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":30,"s":[100],"e":[0]},{"t":31}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":0,"s":[58.75,116.625,0],"e":[58.75,86.625,0],"to":[0,-5,0],"ti":[0,8.54166698455811,0]},{"i":{"x":0.667,"y":0.619},"o":{"x":0.333,"y":0},"n":"0p667_0p619_0p333_0","t":7,"s":[58.75,86.625,0],"e":[58.75,78.358,0],"to":[0,-2.00962829589844,0],"ti":[-1.4210854715202e-14,1.69595038890839,0]},{"i":{"x":0.699,"y":0},"o":{"x":0.333,"y":0.997},"n":"0p699_0_0p333_0p997","t":10,"s":[58.75,78.358,0],"e":[58.75,77.763,0],"to":[0,-1.16003048419952,0],"ti":[0,1.07868576049805,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0.471},"n":"0p667_1_0p333_0p471","t":11,"s":[58.75,77.763,0],"e":[58.75,65.375,0],"to":[0,-4.04723262786865,0],"ti":[0,4.67944431304932,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":16,"s":[58.75,65.375,0],"e":[58.75,55.055,0],"to":[0,-3.04645037651062,0],"ti":[0,3.87071990966797,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":22,"s":[58.75,55.055,0],"e":[58.75,11.625,0],"to":[0,-5.97617626190186,0],"ti":[0,2.55407810211182,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":26,"s":[58.75,11.625,0],"e":[58.75,79.625,0],"to":[0,-4.20833349227905,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":31,"s":[58.75,79.625,0],"e":[58.75,31.625,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":36,"s":[58.75,31.625,0],"e":[58.75,64.625,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":41,"s":[58.75,64.625,0],"e":[58.75,41.625,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":46,"s":[58.75,41.625,0],"e":[58.75,55.625,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":51,"s":[58.75,55.625,0],"e":[58.75,44.625,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":56,"s":[58.75,44.625,0],"e":[58.75,48.125,0],"to":[0,0,0],"ti":[0,0,0]},{"t":61}],"ix":2},"a":{"a":0,"k":[0,51.375,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":10,"s":[128.633,104.09,100],"e":[128.633,128.633,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":11,"s":[128.633,128.633,100],"e":[128.633,128.633,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":12,"s":[128.633,128.633,100],"e":[116.513,128.633,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":16,"s":[116.513,128.633,100],"e":[116.513,140.877,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":22,"s":[116.513,140.877,100],"e":[116.513,140.877,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":24,"s":[116.513,140.877,100],"e":[152.874,71.34,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":26,"s":[152.874,71.34,100],"e":[112.473,108.08,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":29,"s":[112.473,108.08,100],"e":[179.639,73.385,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":30,"s":[179.639,73.385,100],"e":[234.685,71.34,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":31,"s":[234.685,71.34,100],"e":[179.134,75.467,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":36,"s":[179.134,75.467,100],"e":[185.329,62.508,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":38,"s":[185.329,62.508,100],"e":[180.346,70.569,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167","0p833_0p833_0p167_0p167"],"t":39,"s":[180.346,70.569,100],"e":[177.114,50.942,100]},{"t":41}],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.139,51.361],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[12.237,12.237],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":75,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"mask","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[60,66.109,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[105,105,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[96,96],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0,0,0,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[-0.12,-12.645],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":75,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"大圆","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":0,"s":[59.881,143.5,0],"e":[59.881,114.5,0],"to":[0,-4.83333349227905,0],"ti":[0,5.95833349227905,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":7,"s":[59.881,114.5,0],"e":[59.881,109.363,0],"to":[0,-0.80062341690063,0],"ti":[0,0.90920323133469,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":16,"s":[59.881,109.363,0],"e":[59.881,107.174,0],"to":[0,-0.28490796685219,0],"ti":[0,0.17865936458111,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":22,"s":[59.881,107.174,0],"e":[59.881,157.75,0],"to":[0,-0.9954537153244,0],"ti":[0,0.37810891866684,0]},{"t":26}],"ix":2},"a":{"a":0,"k":[0,2.5,0],"ix":1},"s":{"a":0,"k":[44.561,44.561,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[200,200],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,1,1,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":75,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"face","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[59.895,48.168,0],"ix":2},"a":{"a":0,"k":[0,41.5,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.6,0.6,0.6,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 6","np":2,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.6,0.6,0.6,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 5","np":2,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.6,0.6,0.6,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 4","np":2,"cix":2,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.6,0.6,0.6,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 3","np":2,"cix":2,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.6,0.6,0.6,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,0],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 2","np":2,"cix":2,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.625,3.125],[-2.288,-6.185],[-7.875,0.188],[-3.245,4.521],[5.57,-4.27],[4.812,-0.062]],"o":[[-2.625,-3.125],[1.688,4.562],[7.875,-0.188],[3.812,-5.312],[-5.625,4.312],[-4.875,0.062]],"v":[[-13.875,-19.125],[-19.875,-13.5],[0.062,-3.875],[19.125,-12.25],[13.313,-18.75],[-0.062,-13]],"c":true},"ix":2},"nm":"路径 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.6,0.6,0.6,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,52.121],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"形状 1","np":3,"cix":2,"ix":6,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"redbg 2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[60,60,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"矩形路径 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.6,0.6,0.6,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.068,57.365],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[91,91],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[0.600000023842,0.600000023842,0.600000023842,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":5,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.341176470588,0.341176470588,1],"ix":4},"o":{"a":0,"k":0,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-8],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[105,105],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":2,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"预合成 1","refId":"comp_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[60,60,0],"ix":2},"a":{"a":0,"k":[60,60,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"w":120,"h":120,"ip":2,"op":75,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"redbg","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[60.12,59.97,0],"ix":2},"a":{"a":0,"k":[0,0,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"shapes":[{"ty":"gr","it":[{"ty":"rc","d":1,"s":{"a":0,"k":[100,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":20,"ix":4},"nm":"矩形路径 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.341176470588,0.341176470588,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0.068,57.49],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[100,100],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"矩形 1","np":3,"cix":2,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"d":1,"ty":"el","s":{"a":0,"k":[96,96],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"nm":"椭圆路径 1","mn":"ADBE Vector Shape - Ellipse","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":0,"ix":5},"lc":1,"lj":1,"ml":4,"ml2":{"a":0,"k":4,"ix":8},"nm":"描边 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[1,0.341176470588,0.341176470588,1],"ix":4},"o":{"a":0,"k":100,"ix":5},"r":1,"nm":"填充 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[0,-8],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":0,"k":[105,105],"ix":3},"r":{"a":0,"k":0,"ix":6},"o":{"a":0,"k":100,"ix":7},"sk":{"a":0,"k":0,"ix":4},"sa":{"a":0,"k":0,"ix":5},"nm":"变换"}],"nm":"椭圆 1","np":3,"cix":2,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":2,"op":75,"st":0,"bm":0}],"markers":[]} -------------------------------------------------------------------------------- /app/src/main/java/com/example/lottietabviewdemo/DealFragment.java: -------------------------------------------------------------------------------- 1 | package com.example.lottietabviewdemo; 2 | 3 | import android.os.Bundle; 4 | import android.support.v4.app.Fragment; 5 | import android.view.LayoutInflater; 6 | import android.view.View; 7 | import android.view.ViewGroup; 8 | 9 | /** 10 | * A simple {@link Fragment} subclass. 11 | * Use the {@link DealFragment#newInstance} factory method to 12 | * create an instance of this fragment. 13 | */ 14 | public class DealFragment extends Fragment { 15 | 16 | // TODO: Rename parameter arguments, choose names that match 17 | // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER 18 | private static final String ARG_PARAM1 = "param1"; 19 | private static final String ARG_PARAM2 = "param2"; 20 | 21 | // TODO: Rename and change types of parameters 22 | private String mParam1; 23 | private String mParam2; 24 | 25 | public DealFragment() { 26 | // Required empty public constructor 27 | } 28 | 29 | /** 30 | * Use this factory method to create a new instance of 31 | * this fragment using the provided parameters. 32 | * 33 | * @param param1 Parameter 1. 34 | * @param param2 Parameter 2. 35 | * @return A new instance of fragment DealFragment. 36 | */ 37 | // TODO: Rename and change types and number of parameters 38 | public static DealFragment newInstance(String param1, String param2) { 39 | DealFragment fragment = new DealFragment(); 40 | Bundle args = new Bundle(); 41 | args.putString(ARG_PARAM1, param1); 42 | args.putString(ARG_PARAM2, param2); 43 | fragment.setArguments(args); 44 | return fragment; 45 | } 46 | 47 | @Override 48 | public void onCreate(Bundle savedInstanceState) { 49 | super.onCreate(savedInstanceState); 50 | if (getArguments() != null) { 51 | mParam1 = getArguments().getString(ARG_PARAM1); 52 | mParam2 = getArguments().getString(ARG_PARAM2); 53 | } 54 | } 55 | 56 | @Override 57 | public View onCreateView(LayoutInflater inflater, ViewGroup container, 58 | Bundle savedInstanceState) { 59 | // Inflate the layout for this fragment 60 | return inflater.inflate(R.layout.fragment_deal, container, false); 61 | } 62 | } -------------------------------------------------------------------------------- /app/src/main/java/com/example/lottietabviewdemo/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.example.lottietabviewdemo; 2 | 3 | 4 | import android.os.Bundle; 5 | import android.support.v4.app.Fragment; 6 | import android.support.v7.app.AppCompatActivity; 7 | import android.view.View; 8 | import android.widget.FrameLayout; 9 | import android.widget.ImageView; 10 | import android.widget.LinearLayout; 11 | import android.widget.Toast; 12 | 13 | import com.chason.lottieview.LottieTabView; 14 | 15 | import butterknife.BindView; 16 | import butterknife.ButterKnife; 17 | import butterknife.OnClick; 18 | 19 | public class MainActivity extends AppCompatActivity { 20 | 21 | @BindView(R.id.fl_main) 22 | FrameLayout flMain; 23 | @BindView(R.id.tab_view_main) 24 | LottieTabView mLottieMainTab; 25 | @BindView(R.id.tab_view_deal) 26 | LottieTabView mLottieDealTab; 27 | @BindView(R.id.main_add_btn) 28 | ImageView mainAddBtn; 29 | @BindView(R.id.tab_view_msg) 30 | LottieTabView mLottieMsgTab; 31 | @BindView(R.id.tab_view_mine) 32 | LottieTabView mLottieMineTab; 33 | @BindView(R.id.tab_layout) 34 | LinearLayout tabLayout; 35 | @BindView(R.id.main_bg) 36 | LinearLayout mainBg; 37 | 38 | private Fragment fragment1, fragment2, fragment3, fragment4; 39 | 40 | @Override 41 | protected void onCreate(Bundle savedInstanceState) { 42 | super.onCreate(savedInstanceState); 43 | setContentView(R.layout.activity_main); 44 | ButterKnife.bind(this); 45 | initLottieTabView(); 46 | } 47 | 48 | private void initLottieTabView() { 49 | mLottieMainTab.selected(); 50 | mLottieMsgTab.showMsg(10); 51 | displayFragment(0); 52 | } 53 | 54 | @OnClick({R.id.tab_view_main, R.id.tab_view_msg, R.id.tab_view_deal, R.id.tab_view_mine, R.id.main_add_btn}) 55 | public void onClickView(View view) { 56 | switch (view.getId()) { 57 | case R.id.tab_view_main: 58 | displayFragment(0); 59 | mLottieMainTab.selected(); 60 | mLottieMsgTab.unSelected(); 61 | mLottieDealTab.unSelected(); 62 | mLottieMineTab.unSelected(); 63 | break; 64 | case R.id.tab_view_msg: 65 | displayFragment(1); 66 | mLottieMsgTab.selected(); 67 | mLottieDealTab.unSelected(); 68 | mLottieMineTab.unSelected(); 69 | mLottieMainTab.unSelected(); 70 | break; 71 | case R.id.tab_view_deal: 72 | displayFragment(2); 73 | mLottieDealTab.selected(); 74 | mLottieMsgTab.unSelected(); 75 | mLottieMineTab.unSelected(); 76 | mLottieMainTab.unSelected(); 77 | break; 78 | case R.id.tab_view_mine: 79 | displayFragment(3); 80 | mLottieMineTab.selected(); 81 | mLottieMsgTab.unSelected(); 82 | mLottieDealTab.unSelected(); 83 | mLottieMainTab.unSelected(); 84 | break; 85 | case R.id.main_add_btn: 86 | Toast.makeText(this, "add", Toast.LENGTH_SHORT).show(); 87 | break; 88 | } 89 | } 90 | 91 | private void displayFragment(int position) { 92 | hideFragment(); 93 | switch (position) { 94 | case 0: 95 | if (fragment1 == null) { 96 | fragment1 = MainFragment.newInstance(null, null); 97 | getSupportFragmentManager().beginTransaction().add(R.id.fl_main, fragment1).commit(); 98 | } else { 99 | getSupportFragmentManager().beginTransaction().show(fragment1).commit(); 100 | } 101 | break; 102 | case 1: 103 | if (fragment2 == null) { 104 | fragment2 = MsgFragment.newInstance(null, null); 105 | getSupportFragmentManager().beginTransaction().add(R.id.fl_main, fragment2).commit(); 106 | } else { 107 | getSupportFragmentManager().beginTransaction().show(fragment2).commit(); 108 | } 109 | break; 110 | case 2: 111 | if (fragment3 == null) { 112 | fragment3 = DealFragment.newInstance(null, null); 113 | getSupportFragmentManager().beginTransaction().add(R.id.fl_main, fragment3).commit(); 114 | } else { 115 | getSupportFragmentManager().beginTransaction().show(fragment3).commit(); 116 | } 117 | break; 118 | case 3: 119 | if (fragment4 == null) { 120 | fragment4 = MineFragment.newInstance(null, null); 121 | getSupportFragmentManager().beginTransaction().add(R.id.fl_main, fragment4).commit(); 122 | } else { 123 | getSupportFragmentManager().beginTransaction().show(fragment4).commit(); 124 | } 125 | break; 126 | } 127 | } 128 | 129 | private void hideFragment() { 130 | if (fragment1 != null) { 131 | getSupportFragmentManager().beginTransaction().hide(fragment1).commit(); 132 | } 133 | 134 | if (fragment2 != null) { 135 | getSupportFragmentManager().beginTransaction().hide(fragment2).commit(); 136 | } 137 | 138 | if (fragment3 != null) { 139 | getSupportFragmentManager().beginTransaction().hide(fragment3).commit(); 140 | } 141 | 142 | if (fragment4 != null) { 143 | getSupportFragmentManager().beginTransaction().hide(fragment4).commit(); 144 | } 145 | 146 | } 147 | } -------------------------------------------------------------------------------- /app/src/main/java/com/example/lottietabviewdemo/MainFragment.java: -------------------------------------------------------------------------------- 1 | package com.example.lottietabviewdemo; 2 | 3 | import android.os.Bundle; 4 | import android.support.v4.app.Fragment; 5 | import android.view.LayoutInflater; 6 | import android.view.View; 7 | import android.view.ViewGroup; 8 | 9 | /** 10 | * A simple {@link Fragment} subclass. 11 | * Use the {@link MainFragment#newInstance} factory method to 12 | * create an instance of this fragment. 13 | */ 14 | public class MainFragment extends Fragment { 15 | 16 | // TODO: Rename parameter arguments, choose names that match 17 | // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER 18 | private static final String ARG_PARAM1 = "param1"; 19 | private static final String ARG_PARAM2 = "param2"; 20 | 21 | // TODO: Rename and change types of parameters 22 | private String mParam1; 23 | private String mParam2; 24 | 25 | public MainFragment() { 26 | // Required empty public constructor 27 | } 28 | 29 | /** 30 | * Use this factory method to create a new instance of 31 | * this fragment using the provided parameters. 32 | * 33 | * @param param1 Parameter 1. 34 | * @param param2 Parameter 2. 35 | * @return A new instance of fragment MainFragment. 36 | */ 37 | // TODO: Rename and change types and number of parameters 38 | public static MainFragment newInstance(String param1, String param2) { 39 | MainFragment fragment = new MainFragment(); 40 | Bundle args = new Bundle(); 41 | args.putString(ARG_PARAM1, param1); 42 | args.putString(ARG_PARAM2, param2); 43 | fragment.setArguments(args); 44 | return fragment; 45 | } 46 | 47 | @Override 48 | public void onCreate(Bundle savedInstanceState) { 49 | super.onCreate(savedInstanceState); 50 | if (getArguments() != null) { 51 | mParam1 = getArguments().getString(ARG_PARAM1); 52 | mParam2 = getArguments().getString(ARG_PARAM2); 53 | } 54 | } 55 | 56 | @Override 57 | public View onCreateView(LayoutInflater inflater, ViewGroup container, 58 | Bundle savedInstanceState) { 59 | // Inflate the layout for this fragment 60 | return inflater.inflate(R.layout.fragment_main, container, false); 61 | } 62 | } -------------------------------------------------------------------------------- /app/src/main/java/com/example/lottietabviewdemo/MineFragment.java: -------------------------------------------------------------------------------- 1 | package com.example.lottietabviewdemo; 2 | 3 | import android.os.Bundle; 4 | import android.support.v4.app.Fragment; 5 | import android.view.LayoutInflater; 6 | import android.view.View; 7 | import android.view.ViewGroup; 8 | 9 | /** 10 | * A simple {@link Fragment} subclass. 11 | * Use the {@link MineFragment#newInstance} factory method to 12 | * create an instance of this fragment. 13 | */ 14 | public class MineFragment extends Fragment { 15 | 16 | // TODO: Rename parameter arguments, choose names that match 17 | // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER 18 | private static final String ARG_PARAM1 = "param1"; 19 | private static final String ARG_PARAM2 = "param2"; 20 | 21 | // TODO: Rename and change types of parameters 22 | private String mParam1; 23 | private String mParam2; 24 | 25 | public MineFragment() { 26 | // Required empty public constructor 27 | } 28 | 29 | /** 30 | * Use this factory method to create a new instance of 31 | * this fragment using the provided parameters. 32 | * 33 | * @param param1 Parameter 1. 34 | * @param param2 Parameter 2. 35 | * @return A new instance of fragment MineFragment. 36 | */ 37 | // TODO: Rename and change types and number of parameters 38 | public static MineFragment newInstance(String param1, String param2) { 39 | MineFragment fragment = new MineFragment(); 40 | Bundle args = new Bundle(); 41 | args.putString(ARG_PARAM1, param1); 42 | args.putString(ARG_PARAM2, param2); 43 | fragment.setArguments(args); 44 | return fragment; 45 | } 46 | 47 | @Override 48 | public void onCreate(Bundle savedInstanceState) { 49 | super.onCreate(savedInstanceState); 50 | if (getArguments() != null) { 51 | mParam1 = getArguments().getString(ARG_PARAM1); 52 | mParam2 = getArguments().getString(ARG_PARAM2); 53 | } 54 | } 55 | 56 | @Override 57 | public View onCreateView(LayoutInflater inflater, ViewGroup container, 58 | Bundle savedInstanceState) { 59 | // Inflate the layout for this fragment 60 | return inflater.inflate(R.layout.fragment_mine, container, false); 61 | } 62 | } -------------------------------------------------------------------------------- /app/src/main/java/com/example/lottietabviewdemo/MsgFragment.java: -------------------------------------------------------------------------------- 1 | package com.example.lottietabviewdemo; 2 | 3 | import android.os.Bundle; 4 | import android.support.v4.app.Fragment; 5 | import android.view.LayoutInflater; 6 | import android.view.View; 7 | import android.view.ViewGroup; 8 | 9 | /** 10 | * A simple {@link Fragment} subclass. 11 | * Use the {@link MsgFragment#newInstance} factory method to 12 | * create an instance of this fragment. 13 | */ 14 | public class MsgFragment extends Fragment { 15 | 16 | // TODO: Rename parameter arguments, choose names that match 17 | // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER 18 | private static final String ARG_PARAM1 = "param1"; 19 | private static final String ARG_PARAM2 = "param2"; 20 | 21 | // TODO: Rename and change types of parameters 22 | private String mParam1; 23 | private String mParam2; 24 | 25 | public MsgFragment() { 26 | // Required empty public constructor 27 | } 28 | 29 | /** 30 | * Use this factory method to create a new instance of 31 | * this fragment using the provided parameters. 32 | * 33 | * @param param1 Parameter 1. 34 | * @param param2 Parameter 2. 35 | * @return A new instance of fragment MsgFragment. 36 | */ 37 | // TODO: Rename and change types and number of parameters 38 | public static MsgFragment newInstance(String param1, String param2) { 39 | MsgFragment fragment = new MsgFragment(); 40 | Bundle args = new Bundle(); 41 | args.putString(ARG_PARAM1, param1); 42 | args.putString(ARG_PARAM2, param2); 43 | fragment.setArguments(args); 44 | return fragment; 45 | } 46 | 47 | @Override 48 | public void onCreate(Bundle savedInstanceState) { 49 | super.onCreate(savedInstanceState); 50 | if (getArguments() != null) { 51 | mParam1 = getArguments().getString(ARG_PARAM1); 52 | mParam2 = getArguments().getString(ARG_PARAM2); 53 | } 54 | } 55 | 56 | @Override 57 | public View onCreateView(LayoutInflater inflater, ViewGroup container, 58 | Bundle savedInstanceState) { 59 | // Inflate the layout for this fragment 60 | return inflater.inflate(R.layout.fragment_msg, container, false); 61 | } 62 | } -------------------------------------------------------------------------------- /app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 8 | 9 | 15 | 18 | 21 | 22 | 23 | 24 | 30 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_deal_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/app/src/main/res/drawable-xxhdpi/ic_deal_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_deal_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/app/src/main/res/drawable-xxhdpi/ic_deal_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_main_add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/app/src/main/res/drawable-xxhdpi/ic_main_add.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_main_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/app/src/main/res/drawable-xxhdpi/ic_main_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_main_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/app/src/main/res/drawable-xxhdpi/ic_main_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_mine_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/app/src/main/res/drawable-xxhdpi/ic_mine_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_mine_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/app/src/main/res/drawable-xxhdpi/ic_mine_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_msg_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/app/src/main/res/drawable-xxhdpi/ic_msg_normal.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_msg_selected.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/app/src/main/res/drawable-xxhdpi/ic_msg_selected.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/tab_bottom_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/app/src/main/res/drawable-xxhdpi/tab_bottom_bg.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 10 | 15 | 20 | 25 | 30 | 35 | 40 | 45 | 50 | 55 | 60 | 65 | 70 | 75 | 80 | 85 | 90 | 95 | 100 | 105 | 110 | 115 | 120 | 125 | 130 | 135 | 140 | 145 | 150 | 155 | 160 | 165 | 170 | 171 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 14 | 15 | 19 | 20 | 21 | 22 | 32 | 33 | 45 | 46 | 59 | 60 | 69 | 70 | 83 | 84 | 96 | 97 | 98 | 99 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_deal.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_mine.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/layout/fragment_msg.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 13 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #6200EE 4 | #3700B3 5 | #03DAC5 6 | #666666 7 | #E62E2E 8 | -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | LottieTabViewDemo 3 | 4 | Hello blank fragment 5 | -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 9 | 10 | -------------------------------------------------------------------------------- /app/src/test/java/com/example/lottietabviewdemo/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.example.lottietabviewdemo; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | buildscript { 3 | repositories { 4 | google() 5 | jcenter() 6 | } 7 | dependencies { 8 | classpath "com.android.tools.build:gradle:4.0.0" 9 | classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' 10 | // NOTE: Do not place your application dependencies here; they belong 11 | // in the individual module build.gradle files 12 | } 13 | } 14 | 15 | allprojects { 16 | repositories { 17 | google() 18 | jcenter() 19 | } 20 | } 21 | 22 | task clean(type: Delete) { 23 | delete rootProject.buildDir 24 | } -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | # IDE (e.g. Android Studio) users: 3 | # Gradle settings configured through the IDE *will override* 4 | # any settings specified in this file. 5 | # For more details on how to configure your build environment visit 6 | # http://www.gradle.org/docs/current/userguide/build_environment.html 7 | # Specifies the JVM arguments used for the daemon process. 8 | # The setting is particularly useful for tweaking memory settings. 9 | org.gradle.jvmargs=-Xmx2048m 10 | # When configured, Gradle will run in incubating parallel mode. 11 | # This option should only be used with decoupled projects. More details, visit 12 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 13 | # org.gradle.parallel=true 14 | # AndroidX package structure to make it clearer which packages are bundled with the 15 | # Android operating system, and which are packaged with your app"s APK 16 | # https://developer.android.com/topic/libraries/support-library/androidx-rn 17 | # Automatically convert third-party libraries to use AndroidX 18 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Aug 21 16:42:05 CST 2020 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip 7 | -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | ############################################################################## 4 | ## 5 | ## Gradle start up script for UN*X 6 | ## 7 | ############################################################################## 8 | 9 | # Attempt to set APP_HOME 10 | # Resolve links: $0 may be a link 11 | PRG="$0" 12 | # Need this for relative symlinks. 13 | while [ -h "$PRG" ] ; do 14 | ls=`ls -ld "$PRG"` 15 | link=`expr "$ls" : '.*-> \(.*\)$'` 16 | if expr "$link" : '/.*' > /dev/null; then 17 | PRG="$link" 18 | else 19 | PRG=`dirname "$PRG"`"/$link" 20 | fi 21 | done 22 | SAVED="`pwd`" 23 | cd "`dirname \"$PRG\"`/" >/dev/null 24 | APP_HOME="`pwd -P`" 25 | cd "$SAVED" >/dev/null 26 | 27 | APP_NAME="Gradle" 28 | APP_BASE_NAME=`basename "$0"` 29 | 30 | # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 31 | DEFAULT_JVM_OPTS="" 32 | 33 | # Use the maximum available, or set MAX_FD != -1 to use that value. 34 | MAX_FD="maximum" 35 | 36 | warn () { 37 | echo "$*" 38 | } 39 | 40 | die () { 41 | echo 42 | echo "$*" 43 | echo 44 | exit 1 45 | } 46 | 47 | # OS specific support (must be 'true' or 'false'). 48 | cygwin=false 49 | msys=false 50 | darwin=false 51 | nonstop=false 52 | case "`uname`" in 53 | CYGWIN* ) 54 | cygwin=true 55 | ;; 56 | Darwin* ) 57 | darwin=true 58 | ;; 59 | MINGW* ) 60 | msys=true 61 | ;; 62 | NONSTOP* ) 63 | nonstop=true 64 | ;; 65 | esac 66 | 67 | CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar 68 | 69 | # Determine the Java command to use to start the JVM. 70 | if [ -n "$JAVA_HOME" ] ; then 71 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 72 | # IBM's JDK on AIX uses strange locations for the executables 73 | JAVACMD="$JAVA_HOME/jre/sh/java" 74 | else 75 | JAVACMD="$JAVA_HOME/bin/java" 76 | fi 77 | if [ ! -x "$JAVACMD" ] ; then 78 | die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME 79 | 80 | Please set the JAVA_HOME variable in your environment to match the 81 | location of your Java installation." 82 | fi 83 | else 84 | JAVACMD="java" 85 | which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 86 | 87 | Please set the JAVA_HOME variable in your environment to match the 88 | location of your Java installation." 89 | fi 90 | 91 | # Increase the maximum file descriptors if we can. 92 | if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then 93 | MAX_FD_LIMIT=`ulimit -H -n` 94 | if [ $? -eq 0 ] ; then 95 | if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then 96 | MAX_FD="$MAX_FD_LIMIT" 97 | fi 98 | ulimit -n $MAX_FD 99 | if [ $? -ne 0 ] ; then 100 | warn "Could not set maximum file descriptor limit: $MAX_FD" 101 | fi 102 | else 103 | warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" 104 | fi 105 | fi 106 | 107 | # For Darwin, add options to specify how the application appears in the dock 108 | if $darwin; then 109 | GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" 110 | fi 111 | 112 | # For Cygwin, switch paths to Windows format before running java 113 | if $cygwin ; then 114 | APP_HOME=`cygpath --path --mixed "$APP_HOME"` 115 | CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` 116 | JAVACMD=`cygpath --unix "$JAVACMD"` 117 | 118 | # We build the pattern for arguments to be converted via cygpath 119 | ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` 120 | SEP="" 121 | for dir in $ROOTDIRSRAW ; do 122 | ROOTDIRS="$ROOTDIRS$SEP$dir" 123 | SEP="|" 124 | done 125 | OURCYGPATTERN="(^($ROOTDIRS))" 126 | # Add a user-defined pattern to the cygpath arguments 127 | if [ "$GRADLE_CYGPATTERN" != "" ] ; then 128 | OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" 129 | fi 130 | # Now convert the arguments - kludge to limit ourselves to /bin/sh 131 | i=0 132 | for arg in "$@" ; do 133 | CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` 134 | CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option 135 | 136 | if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition 137 | eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` 138 | else 139 | eval `echo args$i`="\"$arg\"" 140 | fi 141 | i=$((i+1)) 142 | done 143 | case $i in 144 | (0) set -- ;; 145 | (1) set -- "$args0" ;; 146 | (2) set -- "$args0" "$args1" ;; 147 | (3) set -- "$args0" "$args1" "$args2" ;; 148 | (4) set -- "$args0" "$args1" "$args2" "$args3" ;; 149 | (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; 150 | (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; 151 | (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; 152 | (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; 153 | (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; 154 | esac 155 | fi 156 | 157 | # Escape application args 158 | save () { 159 | for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done 160 | echo " " 161 | } 162 | APP_ARGS=$(save "$@") 163 | 164 | # Collect all arguments for the java command, following the shell quoting and substitution rules 165 | eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" 166 | 167 | # by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong 168 | if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then 169 | cd "$(dirname "$0")" 170 | fi 171 | 172 | exec "$JAVACMD" "$@" 173 | -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- 1 | @if "%DEBUG%" == "" @echo off 2 | @rem ########################################################################## 3 | @rem 4 | @rem Gradle startup script for Windows 5 | @rem 6 | @rem ########################################################################## 7 | 8 | @rem Set local scope for the variables with windows NT shell 9 | if "%OS%"=="Windows_NT" setlocal 10 | 11 | set DIRNAME=%~dp0 12 | if "%DIRNAME%" == "" set DIRNAME=. 13 | set APP_BASE_NAME=%~n0 14 | set APP_HOME=%DIRNAME% 15 | 16 | @rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. 17 | set DEFAULT_JVM_OPTS= 18 | 19 | @rem Find java.exe 20 | if defined JAVA_HOME goto findJavaFromJavaHome 21 | 22 | set JAVA_EXE=java.exe 23 | %JAVA_EXE% -version >NUL 2>&1 24 | if "%ERRORLEVEL%" == "0" goto init 25 | 26 | echo. 27 | echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 28 | echo. 29 | echo Please set the JAVA_HOME variable in your environment to match the 30 | echo location of your Java installation. 31 | 32 | goto fail 33 | 34 | :findJavaFromJavaHome 35 | set JAVA_HOME=%JAVA_HOME:"=% 36 | set JAVA_EXE=%JAVA_HOME%/bin/java.exe 37 | 38 | if exist "%JAVA_EXE%" goto init 39 | 40 | echo. 41 | echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 42 | echo. 43 | echo Please set the JAVA_HOME variable in your environment to match the 44 | echo location of your Java installation. 45 | 46 | goto fail 47 | 48 | :init 49 | @rem Get command-line arguments, handling Windows variants 50 | 51 | if not "%OS%" == "Windows_NT" goto win9xME_args 52 | 53 | :win9xME_args 54 | @rem Slurp the command line arguments. 55 | set CMD_LINE_ARGS= 56 | set _SKIP=2 57 | 58 | :win9xME_args_slurp 59 | if "x%~1" == "x" goto execute 60 | 61 | set CMD_LINE_ARGS=%* 62 | 63 | :execute 64 | @rem Setup the command line 65 | 66 | set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar 67 | 68 | @rem Execute Gradle 69 | "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% 70 | 71 | :end 72 | @rem End local scope for the variables with windows NT shell 73 | if "%ERRORLEVEL%"=="0" goto mainEnd 74 | 75 | :fail 76 | rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of 77 | rem the _cmd.exe /c_ return code! 78 | if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 79 | exit /b 1 80 | 81 | :mainEnd 82 | if "%OS%"=="Windows_NT" endlocal 83 | 84 | :omega 85 | -------------------------------------------------------------------------------- /lottieview/.gitignore: -------------------------------------------------------------------------------- 1 | /build -------------------------------------------------------------------------------- /lottieview/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.library' 2 | apply plugin: 'com.github.dcendents.android-maven' 3 | group='com.github.wantWhat' 4 | android { 5 | compileSdkVersion 28 6 | 7 | defaultConfig { 8 | minSdkVersion 23 9 | targetSdkVersion 28 10 | versionCode 4 11 | versionName "1.5" 12 | 13 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 14 | consumerProguardFiles "consumer-rules.pro" 15 | } 16 | 17 | buildTypes { 18 | release { 19 | minifyEnabled false 20 | proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 21 | } 22 | } 23 | } 24 | 25 | dependencies { 26 | implementation fileTree(dir: "libs", include: ["*.jar"]) 27 | implementation 'com.android.support:appcompat-v7:28.0.0' 28 | testImplementation 'junit:junit:4.12' 29 | androidTestImplementation 'com.android.support.test:runner:1.0.2' 30 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' 31 | implementation 'com.airbnb.android:lottie:2.7.0' 32 | implementation 'com.blankj:utilcode:1.23.7' 33 | 34 | } -------------------------------------------------------------------------------- /lottieview/consumer-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/lottieview/consumer-rules.pro -------------------------------------------------------------------------------- /lottieview/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile -------------------------------------------------------------------------------- /lottieview/src/androidTest/java/com/chason/lottieview/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.chason.lottieview; 2 | 3 | import android.content.Context; 4 | import android.support.test.InstrumentationRegistry; 5 | import android.support.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Instrumented test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest { 19 | @Test 20 | public void useAppContext() { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); 23 | assertEquals("com.chason.lottieview.test", appContext.getPackageName()); 24 | } 25 | } -------------------------------------------------------------------------------- /lottieview/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | / 5 | -------------------------------------------------------------------------------- /lottieview/src/main/java/com/chason/lottieview/LottieTabView.java: -------------------------------------------------------------------------------- 1 | package com.chason.lottieview; 2 | 3 | import android.content.Context; 4 | import android.content.res.TypedArray; 5 | import android.graphics.Color; 6 | import android.graphics.drawable.Drawable; 7 | import android.text.TextUtils; 8 | import android.util.AttributeSet; 9 | import android.util.TypedValue; 10 | import android.view.LayoutInflater; 11 | import android.view.View; 12 | import android.widget.FrameLayout; 13 | import android.widget.TextView; 14 | 15 | import com.airbnb.lottie.LottieAnimationView; 16 | import com.blankj.utilcode.util.SizeUtils; 17 | 18 | public class LottieTabView extends FrameLayout { 19 | private int mTextNormalColor; 20 | private int mTextSelectColor; 21 | private float mTextSize; 22 | private String mTabName; 23 | private Drawable mIconNormal; 24 | private String mAnimationPath; 25 | private LottieAnimationView mLottieView; 26 | private TextView mTabNameView; 27 | private TextView mMsgView; 28 | private boolean isSelected; 29 | 30 | public LottieTabView(Context context) { 31 | super(context); 32 | } 33 | 34 | public LottieTabView(Context context, AttributeSet attrs) { 35 | super(context, attrs); 36 | init(context, attrs); 37 | } 38 | 39 | public LottieTabView(Context context, AttributeSet attrs, int defStyleAttr) { 40 | super(context, attrs, defStyleAttr); 41 | init(context, attrs); 42 | } 43 | 44 | 45 | private void init(Context context, AttributeSet attrs) { 46 | TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.LottieTabView); 47 | mTextNormalColor = ta.getColor(R.styleable.LottieTabView_text_normal_color, Color.BLACK); 48 | mTextSelectColor = ta.getColor(R.styleable.LottieTabView_text_selected_color, Color.BLUE); 49 | mTextSize = ta.getDimension(R.styleable.LottieTabView_text_size, SizeUtils.dp2px(5)); 50 | mIconNormal = ta.getDrawable(R.styleable.LottieTabView_icon_normal); 51 | mAnimationPath = ta.getString(R.styleable.LottieTabView_lottie_path); 52 | mTabName = ta.getString(R.styleable.LottieTabView_tab_name); 53 | isSelected = ta.getBoolean(R.styleable.LottieTabView_tab_selected, false); 54 | ta.recycle(); 55 | initView(context); 56 | } 57 | 58 | private void initView(Context context) { 59 | View containView = LayoutInflater.from(context).inflate(R.layout.lottie_tab_view, null, false); 60 | mLottieView = containView.findViewById(R.id.animation_view); 61 | mLottieView.setRepeatCount(0); 62 | mTabNameView = containView.findViewById(R.id.tab_name); 63 | mTabNameView.setTextSize(TypedValue.COMPLEX_UNIT_PX, mTextSize); 64 | mTabNameView.setTextColor(mTextNormalColor); 65 | mTabNameView.setText(mTabName); 66 | mMsgView = containView.findViewById(R.id.msg_view); 67 | this.addView(containView); 68 | if (isSelected) { 69 | selected(); 70 | } else { 71 | unSelected(); 72 | } 73 | } 74 | 75 | /** 76 | * 选中状态 77 | */ 78 | public void selected() { 79 | if (TextUtils.isEmpty(mAnimationPath)) { 80 | throw new NullPointerException("ainmation path must be not empty"); 81 | } else { 82 | mLottieView.setAnimation(mAnimationPath); 83 | mLottieView.playAnimation(); 84 | mTabNameView.setTextColor(mTextSelectColor); 85 | } 86 | } 87 | 88 | /** 89 | * 未选中 90 | */ 91 | public void unSelected() { 92 | mTabNameView.setTextColor(mTextNormalColor); 93 | mLottieView.clearAnimation(); 94 | mLottieView.setImageDrawable(mIconNormal); 95 | } 96 | 97 | /** 98 | * 显示红点消息数,默认不显示 99 | * @param num 100 | */ 101 | public void showMsg(int num) { 102 | if (num > 0 && num <= 99) { 103 | mMsgView.setVisibility(VISIBLE); 104 | mMsgView.setText(num + ""); 105 | } else if (num > 99) { 106 | mMsgView.setVisibility(VISIBLE); 107 | mMsgView.setText("99+"); 108 | } else { 109 | mMsgView.setVisibility(View.INVISIBLE); 110 | } 111 | } 112 | } 113 | -------------------------------------------------------------------------------- /lottieview/src/main/res/drawable-xhdpi/rc_unread_count_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wantWhat/lottieTabView/d72dff5720c595915c0ed383ae488f9d237e9bb7/lottieview/src/main/res/drawable-xhdpi/rc_unread_count_bg.png -------------------------------------------------------------------------------- /lottieview/src/main/res/layout/lottie_tab_view.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 14 | 15 | 20 | 21 | 29 | 30 | 31 | 43 | 44 | -------------------------------------------------------------------------------- /lottieview/src/main/res/values/style.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /lottieview/src/test/java/com/chason/lottieview/ExampleUnitTest.java: -------------------------------------------------------------------------------- 1 | package com.chason.lottieview; 2 | 3 | import org.junit.Test; 4 | 5 | import static org.junit.Assert.*; 6 | 7 | /** 8 | * Example local unit test, which will execute on the development machine (host). 9 | * 10 | * @see Testing documentation 11 | */ 12 | public class ExampleUnitTest { 13 | @Test 14 | public void addition_isCorrect() { 15 | assertEquals(4, 2 + 2); 16 | } 17 | } -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':lottieview' 2 | include ':app' 3 | rootProject.name = "LottieTabViewDemo" --------------------------------------------------------------------------------