我有下一个RotateAnimation
。
private RotateAnimation createImageRotatingAnimationInfinite(ImageView imageView) {
RotateAnimation animation = new RotateAnimation(0f, 360f, imageView.getWidth() / 2, imageView.getHeight() / 2);
animation.setFillAfter(true);
animation.setInterpolator(new LinearInterpolator());
animation.setRepeatCount(Animation.INFINITE);
animation.setDuration(ROTATE_DURATION);
return animation;
}
接下来的布局:
...
<!--ROTATING BACKGROUND-->
<com.bipfun.nightlight.customviews.SquareHImageView
android:id="@+id/a_main_rotating_bckgnd"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:scaleType="centerCrop"
android:src="@drawable/rotating_bckgnd_default"/>
<!--LIGHT BACKGROUND-->
<ImageView
android:id="@+id/a_main_light_bckgnd"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:alpha="0"
android:scaleType="centerCrop"
android:src="@drawable/bckgnd_stars_light"/>
...
我将动画设置为a_main_rotating_bckgnd
,当我在屏幕上向上/向下移动查找器时,我会修改alpha
的{{1}}值。问题是任何a_main_light_bckgnd
,它背后的旋转背景都像疯了一样。它发生在许多设备上,如HTC One,Samsung S3,Samsung Note II。
API 有所不同,分别是4.1.2,4.3和4.4.2。它不像其他具有类似API的设备那样是API。他们都有 alpha > 0
屏幕,但我已尝试使用小图片作为背景,但它们仍然滞后。
我似乎无法解决这个问题。我需要一个前面的图像,因为它需要是一个位图。我还有一个简单的xhdpi
我将背景颜色设置为类似View
(对于alpha来说是50),但这似乎并不影响旋转动画。
有关如何解决此问题的任何想法?
答案 0 :(得分:1)
问题是所有3台设备都使用xhdpi
drawables。错误地我删除了Fragment
的背景,我发现它不再滞后。所以我改变了一切。移动了hdpi
- &gt;中的图片xhdpi
,xhdpi
- &gt; xxhdpi
之后一切顺利。它似乎不能同时在屏幕上处理太多大图像。