0

我在应用程序中为简单的 ImageView 设置动画时遇到了一些困难。我注意到,当使用我拥有并放置在 drawable-hdpi 文件夹中的 hdpi 图像时,动画出现时断断续续和滞后,但是当它们被放置在 xhdpi 和 xxhdpi 文件夹中时,图像被缩放但出来平滑。我认为这是我显示图像的方式的问题。

目前,我的布局中有四个 ImageView,它们的大小与我制作动画的图像大小相似,即 1460 x 1080 像素。我在一台 1920 x 1200 的平板电脑上进行测试。当四个图像中的三个出现在屏幕上时,动画明显比我想要的更平滑,但是当显示所有图像时,动画是断断续续且缓慢的。

我还注意到,在模拟器上测试时,动画看起来很流畅,不像在平板电脑上测试时 (1920 x 1200)。

这是简单的动画代码。

 TranslateAnimation anim = new TranslateAnimation(0f, -1200f, 0f, 0f);
     anim.setInterpolator(new  LinearInterpolator());
     anim.setRepeatCount(Animation.INFINITE);
     anim.setRepeatMode(TranslateAnimation.REVERSE);
     anim.setDuration(2300);
     left.setAnimation(anim);

这是我的布局的 xml。

<ImageView
    android:id="@+id/left"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:scaleType="fitXY"

    />

非常感谢

4

1 回答 1

2

如果将图像放在 hdpi 设备上的 xhdpi/xxhdpi 文件夹中,动画会更流畅的可能原因是,它会缩小至少 50%,因此您可以考虑缩小原始图像并使用正确的可绘制选择器。

第二:在清单中激活硬件加速,这在大多数情况下会修复动画。

<application android:hardwareAccelerated="true" ...>

但请注意硬件加速开启时的一些差异(请参阅链接

编辑:请不要介意硬件加速提示:它应该默认开启(这在近年来发生了变化)

于 2013-06-26T21:33:54.970 回答