为Android应用程序设计动画

时间:2012-01-19 13:56:48

标签: android android-layout mobile android-animation

设计和嵌入动画到Android应用程序的最佳方法是什么。 (我不是在谈论动画中的过渡和活动。)

我可以想到两种方法:

  1. 使用flash或类似设计动画,使用透明bgs导出png-sequence并从xml文件中的图像创建动画(如何编写这种xml?)
  2. 使用我创建的动画的所有帧创建图像网格 并将其保存为一个图像。比使用css中的background-position之类的东西来移动每个帧上的图像的可见区域(通过Java代码,或通过xml)
  3. 哪一个更好/最常见?以及如何实施解决方案(如果有更好的解决方案 - 那会很棒)。 以及您通常用于此类任务的程序

    (目标是实现像青蛙一样切割绳子或愤怒的小鸟中的鸟类)

    谢谢!

1 个答案:

答案 0 :(得分:6)

我在一个项目中使用了简单的动画......这是你的第一点... / res / drawable中的* .png文件序列,以及* .xml之类的:

    <?xml version="1.0" encoding="utf-8"?>
 <animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true">
     <item android:drawable="@drawable/s250" android:duration="200" />
     <item android:drawable="@drawable/s251" android:duration="200" />
     <item android:drawable="@drawable/s252" android:duration="200" />
     <item android:drawable="@drawable/s253" android:duration="200" />
     <item android:drawable="@drawable/s254" android:duration="200" />
     <item android:drawable="@drawable/s255" android:duration="200" />
     <item android:drawable="@drawable/s256" android:duration="200" />
     <item android:drawable="@drawable/s257" android:duration="200" />
     <item android:drawable="@drawable/s258" android:duration="200" />
 </animation-list>

......和来源......

    final ImageView pygalo = (ImageView) findViewById(R.id.imageanimation);
    pygalo.setBackgroundResource(R.anim.animation);
    final AnimationDrawable pygaloanimation = (AnimationDrawable) pygalo.getBackground();
    pygalo.setOnClickListener(new OnClickListener() 
    {

        @Override
        public void onClick(View vp) {
            pygaloanimation.stop();
            pygaloanimation.start();

        }
    });

很容易做到......