我在应用中动画简单的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"
/>
非常感谢
答案 0 :(得分:2)
如果将图像放在hdpi设备的xhdpi / xxhdpi文件夹中,动画更平滑的可能原因是,它将缩小至少50%,因此您可以考虑降低原始尺寸并使用正确的drawable选择器。
第二:激活清单中的硬件加速,这在大多数情况下修复了动画。
<application android:hardwareAccelerated="true" ...>
但请注意,当硬件加速开启时,一些差异(参见link)
编辑:请不要介意硬件加速提示:默认情况下应该启用(近年来发生了变化)