使用JSON和XML动画图像

时间:2018-04-05 10:03:15

标签: android json xml animation video-processing

关于如何执行动画usign .json和.xml文件的冲浪很多,其中包含一些可以用某些图像创建动画的值和因子。

由于我是新手,我不知道如何才能实现这一目标。 以下是一些需要的项目,例如带有图像的.json和.xml文件。

这是.json档案

{
  "effectList": [
    {
      "duration": 6000,
      "end_time": 99999999,
      "path": "01/", // folder name of Device
      "start_time": 0,
      "type": 1
    },
    {
      "duration": 3000,
      "end_time": 0,
      "path": "02/",
      "start_time": 0,
      "type": 2
    },
    {
      "duration": 3000,
      "end_time": 0,
      "path": "03/",
      "start_time": 0,
      "type": 2
    }
  ],
  "backgroundColor": 3,
  "moveType": 2,
  "musicConfig": "{\"zh\":\"abc\",\"path\":\"music/Seductive Blues.m4a\",\"en\":\"Seductive Blues\"}",
  "clip_duration": [
    0,
    0
  ],
  "isTransRand": 0
}

Click here to see [Xml File] 1

这是我想要创建的输出 Output Like 2

以下是在json和xml中使用的2张图片。

命名为1.jpg Image 1和2.jpg Image 2

任何小的帮助都是可以预先设定的。谢谢

1 个答案:

答案 0 :(得分:0)

要使用xml制作图片动画,您可以使用Frame Animations(又名Drawable Animations)。在此,您可以使用XML定义Frame动画,将其放在res/drawable/文件夹中,并将其设置为View对象的背景。然后,调用start()来运行动画。

XML中定义的AnimationDrawable由单个<animation-list>元素和一系列嵌套<item>标记组成。每个项目定义动画的帧。一个例子是:

animation.xml文件夹中的

res/drawable/文件:

 <!-- Animation frames are 1.png through 6.png files inside the res/drawable/ folder -->
 <animation-list android:id="@+id/selected" android:oneshot="false">
    <item android:drawable="@drawable/1" android:duration="50" />
    <item android:drawable="@drawable/2" android:duration="50" />
    <item android:drawable="@drawable/3" android:duration="50" />
    <item android:drawable="@drawable/4" android:duration="50" />
    <item android:drawable="@drawable/5" android:duration="50" />
    <item android:drawable="@drawable/6" android:duration="50" />
 </animation-list>

加载并播放此动画。

// Load the ImageView that will host the animation and
 // set its background to our AnimationDrawable XML resource.
 ImageView img = (ImageView)findViewById(R.id.spinning_wheel_image);
 img.setBackgroundResource(R.drawable.spin_animation); 

// Get the background, which has been compiled to an AnimationDrawable object.
 AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground();

 // Start the animation (looped playback by default).
 frameAnimation.start();

参考文档:

AnimationDrawable

Drawable Animation

json而言,我认为只有Lottie Animations使用json来动画图像。