Android-Lottie:如何从内部存储而不是Assets文件夹传递JSON动画文件

时间:2019-01-22 13:07:55

标签: android animation assets lottie lottie-android

Android-Lottie:如何从内部存储而不是Lottie动画视图中的Assets文件夹传递JSON动画文件。

2 个答案:

答案 0 :(得分:0)

您想要一些类似的东西

File TEST = new File(Environment.getExternalStorageDirectory(), "TEST");
TEST.mkdir(); // make directory may want to check return value
String path = TEST.getAbsolutePath(); // get absolute path

和权限

<manifest ...>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
...
</manifest>

答案 1 :(得分:0)

Lottie Library仅使用fileName属性从资产文件夹设置JSON文件。 例如:

<com.airbnb.lottie.LottieAnimationView
    android:id="@+id/anim_iv"
    android:layout_width="wrap_content"
    android:layout_height="300dp"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="10dp"
    app:lottie_fileName="sample.json"
    app:lottie_autoPlay="true"
    app:lottie_loop="true"
    app:lottie_imageAssetsFolder="images"
    />

如果您尝试从内部或外部存储设置JSON文件,那么它将无法正常工作。您必须以字符串形式从JSON文件加载所有JSON数据,然后使用setAnimationFromJson()方法将其设置为LottieAnimationView。