1

我正在尝试在不同的图像资源之间做动画。因此,我正在使用帧动画。

列表动画.xml

    <?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/music_playing_indicator_1"
        android:oneshot="false">
                <item android:drawable="@drawable/animation_1" android:duration="500" />
                <item android:drawable="@drawable/animation_2" android:duration="50" />
                <item android:drawable="@drawable/animation_4" android:duration="50" />
                <item android:drawable="@drawable/animation_5" android:duration="50" />
                <item android:drawable="@drawable/animation_2" android:duration="80" />
                <item android:drawable="@drawable/animation_1" android:duration="150" />
                <item android:drawable="@drawable/animation_3" android:duration="600" />
                <item android:drawable="@drawable/animation_2" android:duration="250" />
</animation-list>

动画_1 - 5.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <size
        android:height="2dp"
        android:width="2dp" />

    <solid android:color="#ffffff" />

</shape>

我只是将高度从 2dp 调整到 4dp 到 6dp 到 8dp 到 10dp。
动画_1 2dp 动画
_2 4dp 动画_3
6dp 等等。

在我运行动画之后,当然我将 imageview 的背景设置为我的动画列表可绘制对象。

ImageView img = (ImageView) getView().findViewById(R.id.Animation);
        AnimationDrawable frameAnimation = (AnimationDrawable) img
                .getBackground();
        frameAnimation.start();

但这里的问题是动画似乎不是应该的动画。有时它很慢,根本没有动画。

如果我对真实的 .png 文件做同样的事情。不同高度的animation_1 -5.png 完美运行。我现在很困惑。在动画列表中使用形状有什么限制吗?

我使用形状的原因是更容易针对具有不同屏幕尺寸的不同设备等等。

我很感谢任何帮助...

干杯亚历克斯

4

0 回答 0