Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 更改JB(API 16)上的图像alpha会重置动画_Android_Performance_Animation_Alpha_Fading - Fatal编程技术网

Android 更改JB(API 16)上的图像alpha会重置动画

Android 更改JB(API 16)上的图像alpha会重置动画,android,performance,animation,alpha,fading,Android,Performance,Animation,Alpha,Fading,我在设置图像的透明度(alpha)时遇到了一个奇怪的问题,该图像也正在使用RotateAnimation类设置动画。在高达16(JB)的所有API级别上,淡入淡出和动画的组合效果都很好。在API 16+上,淡入动画图像将重置动画 我支持API级别9及以上 在API级别16之前,我使用: ivDial.setAlpha(iOverlayAlpha); 其中iOverlayAlpha是一个int,到目前为止都很好。对于API级别16+,setAlpha(int)已被弃用,因此我必须使用: ivDi

我在设置图像的透明度(alpha)时遇到了一个奇怪的问题,该图像也正在使用RotateAnimation类设置动画。在高达16(JB)的所有API级别上,淡入淡出和动画的组合效果都很好。在API 16+上,淡入动画图像将重置动画

我支持API级别9及以上

在API级别16之前,我使用:

ivDial.setAlpha(iOverlayAlpha);
其中iOverlayAlpha是一个int,到目前为止都很好。对于API级别16+,setAlpha(int)已被弃用,因此我必须使用:

ivDial.setImageAlpha(iOverlayAlpha);
但这会重置动画。我可以强制动画再次运行,但每次调用setImageAlpha(iOverlayAlpha)时它都会被重置

我可以使用:

ivDial.setImageAlpha(fOverlayAlpha);
其中,fOverlayAlpha是一个浮点数。这可以正常工作,并且不会重置动画,但文档中说“请注意,将alpha设置为半透明值(0 我的视图不是很大,但我同时可以看到很多视图,所以我不想因此而降低性能

有人知道为什么要用JB中的SetImageAlpha(int)重置动画吗


谢谢。

您使用的是SDK版本相关的动画吗?它们在不同的操作系统版本中工作,使用类似NineodelDroids的东西?@xBroak:不,我在所有SDK版本中使用相同的动画。有更好的API 16+使用吗?我不知道如何使用NineodelDroids。你能不能也设置alpha值的动画?使用AnimatorSet?@kcopock:alpha和动画主要在不同的时间运行。alpha和动画中的更改可以同时运行,但这种情况很少发生。另一个问题是您是否使用
动画
动画师
来制作动画?