Android 某些设备上的Animator/AnimatorSet问题
我已经在一些设备上使用ObjectAnimator类进行了一些测试,除了一台设备:华为P8 Lite 2017外,一切正常 在该设备上,动画开始时视图“消失”,并在动画结束时“出现”。 只有在使用AnimatorSet/Animator(Java代码或XML)时才会出现此问题,但使用旧动画类(TranslateAnimation、AlphaAnimation…)的动画工作正常 以下是没有问题的设备列表: Nexus 5 Nexus 5X 关系9 HTC一号M9 三星GS4 像素XL 阿尔卡特一触即发偶像5 这个华为有什么问题 编辑: 我已经做了一些其他的测试,问题似乎只是与旋转动画Android 某些设备上的Animator/AnimatorSet问题,android,animation,huawei-mobile-services,animator,animatorset,Android,Animation,Huawei Mobile Services,Animator,Animatorset,我已经在一些设备上使用ObjectAnimator类进行了一些测试,除了一台设备:华为P8 Lite 2017外,一切正常 在该设备上,动画开始时视图“消失”,并在动画结束时“出现”。 只有在使用AnimatorSet/Animator(Java代码或XML)时才会出现此问题,但使用旧动画类(TranslateAnimation、AlphaAnimation…)的动画工作正常 以下是没有问题的设备列表: Nexus 5 Nexus 5X 关系9 HTC一号M9 三星GS4 像素XL 阿尔卡特一触
ObjectAnimator r = ObjectAnimator.ofFloat(myView, View.ROTATION_Y, 540);
r.setDuration(5000);
r.start();
适用于除华为以外的所有设备
如果我用ALPHA或TRANSLATION\ux或Y替换ROTATION\uy,它将在华为上工作
这里有一个或多或少与相同问题相关的链接:
我在华为设备(P9 Lite)上也遇到了同样的问题 问题是变换过程中的“摄影机距离”。华为相机距离的默认值太小,您应该按代码设置:
image.setCameraDistance(float)
从文件:
如果要指定一个距离,使视觉一致
结果在不同密度下,使用以下公式:
我不知道
消失
/出现
的真正含义是什么,但很可能动画师在开发者选项
下被禁用,就好像View.VISIBILITY=不可见一样。我已经检查了开发选项,动画比例是“1X”动画是启用(1X)的。所以没有动画工作在手机上?即使是在home launcher应用程序中,也只有在我的应用程序中。我已经测试了ObjectAnimator.Offload(Rotation).setDuration(1秒),视图显示,在1秒内不可见,并在动画结束时显示。这太疯狂了。
float scale = context.getResources().getDisplayMetrics().density;
view.setCameraDistance(distance * scale);