Drawable上的Android动画版画

时间:2013-06-26 20:03:34

标签: android performance android-layout

我在应用中动画简单的ImageView时遇到了一些困难。我注意到当使用我所拥有的hdpi图像并放置在drawable-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"

    />

非常感谢

1 个答案:

答案 0 :(得分:2)

如果将图像放在hdpi设备的xhdpi / xxhdpi文件夹中,动画更平滑的可能原因是,它将缩小至少50%,因此您可以考虑降低原始尺寸并使用正确的drawable选择器。

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

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

但请注意,当硬件加速开启时,一些差异(参见link

编辑:请不要介意硬件加速提示:默认情况下应该启用(近年来发生了变化)