在三星设备上,如果正在播放imageView动画,则Ripple和Reveal会失败

时间:2017-03-23 21:51:15

标签: android android-animation circularreveal

这似乎只发生在三星设备上(在S7和标签S2上测试)。

问题 如果正在播放任何动画,则所有对话波纹和显示效果都会受阻,中途停止或根本不播放。

例如,此imageview动画已启动:

RotateAnimation anim = new RotateAnimation(0.0f, 360.0f, Animation.RELATIVE_TO_SELF, 0.48f, Animation.RELATIVE_TO_SELF, 0.5f);
anim.setInterpolator(new LinearInterpolator());
anim.setRepeatCount(Animation.INFINITE);
anim.setDuration(2000);

ivStatus.startAnimation(anim);

然后我触摸对话框中的按钮或开始显示动画。 动画要么随机冻结,要么断断续续。 在我的代码中,一些显示的是对话框,因此它阻止用户在对话框显示中途停止时做任何事情。

修改:使用动态progressViewcom.github.rahatarmanahmed.cpv.CircularProgressView时也会出现这种情况。

如何预防/修复?这非常适用于非三星设备。

示例项目:https://github.com/behelit/SamsungAnimationFailSample

下面的图像有一个冻结的波纹,此时没有触摸 Ripple death

1 个答案:

答案 0 :(得分:0)

我的解决方案是暂停所有动画onPause并继续onResume。