在android中创建一个帧动画

时间:2012-04-16 12:41:20

标签: android animation frame android-animation

嗨我试图在Android应用程序中设置一个带有一系列图像作为我的启动页面背景的帧动画,我想尽可能像启动时运行的代码一样。我一直在编写代码,但得到的错误是“无法解析帧动画”。

我在主要活动中实现的java代码如下:

@Override
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        ImageView frameanimation = (ImageView) findViewById(R.id.frame_animation);
        AnimationDrawable frame_animation = (AnimationDrawable) frameanimation.getBackground();

        frame_animation.setVisible(true, true);
        frame_animation.start();
    }

然后,我将此代码在我的XML布局文件中实现图像视图:

<ImageView
        android:id="@+id/frame_animation"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:src="@drawable/frame_animation" />

最后我的动画drawable在我的drawable文件夹中保存为'frame_animation.xml'。

<?xml version="1.0" encoding="utf-8"?>

<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false">
    <item android:drawable="@drawable/homebckgrnda1" android:duration="200" />
    <item android:drawable="@drawable/homebckgrnda2" android:duration="50" />
    <item android:drawable="@drawable/homebckgrnda3" android:duration="50" />
    <item android:drawable="@drawable/homebckgrnda4" android:duration="50" />
    <item android:drawable="@drawable/homebckgrnda5" android:duration="50" />
    <item android:drawable="@drawable/homebckgrnda6" android:duration="50" />
    <item android:drawable="@drawable/homebckgrnda7" android:duration="50" />
    <item android:drawable="@drawable/homebckgrnda8" android:duration="50" />
    <item android:drawable="@drawable/homebckgrnda9" android:duration="50" />
    <item android:drawable="@drawable/homebckgrnda10" android:duration="50" />
    <item android:drawable="@drawable/homebckgrnda11" android:duration="50" />
    <item android:drawable="@drawable/homebckgrnda12" android:duration="50" />
    <item android:drawable="@drawable/homebckgrnda13" android:duration="50" />
    <item android:drawable="@drawable/homebckgrnda14" android:duration="50" />
    <item android:drawable="@drawable/homebckgrnda15" android:duration="50" />
    <item android:drawable="@drawable/homebckgrnda16" android:duration="50" />
    <item android:drawable="@drawable/homebckgrnda17" android:duration="50" />
</animation-list>

非常感谢任何帮助,我无法弄清楚出了什么问题。

由于

1 个答案:

答案 0 :(得分:4)

ImageView(android:src)的来源和ImageView(android:background)的背景是不同的东西。您在XML中设置来源,但尝试在代码(frameanimation.getBackground())中获取背景图片。