Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.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
Java 设备之间的Android动画不一致_Java_Android_Animation_Android Animation - Fatal编程技术网

Java 设备之间的Android动画不一致

Java 设备之间的Android动画不一致,java,android,animation,android-animation,Java,Android,Animation,Android Animation,使用视图动画,我将视图的x和y设置为用户触摸的x和y。这会将相关视图设置为所需位置的动画。取消触摸事件后,视图将在较长时间内通过相同类型的动画设置动画,以提供视图捕捉回其原始位置的效果 在高端设备上,动画效果完美,但在低端设备上,会发生以下情况: 当我使用“调试”选项显示gpu渲染并将视图拖动到所需位置时,整个屏幕如预期般闪烁。当我释放视图时,仅相关视图原始位置的块会闪烁,并且动画仅在视图进入该区域并在视图块中必须可见的时间间隔上捕捉到该区域后才可见 此动画在低端和高端设备上使用相同的时间,在高

使用视图动画,我将视图的x和y设置为用户触摸的x和y。这会将相关视图设置为所需位置的动画。取消触摸事件后,视图将在较长时间内通过相同类型的动画设置动画,以提供视图捕捉回其原始位置的效果

在高端设备上,动画效果完美,但在低端设备上,会发生以下情况:

当我使用“调试”选项显示gpu渲染并将视图拖动到所需位置时,整个屏幕如预期般闪烁。当我释放视图时,仅相关视图原始位置的块会闪烁,并且动画仅在视图进入该区域并在视图块中必须可见的时间间隔上捕捉到该区域后才可见

此动画在低端和高端设备上使用相同的时间,在高端设备上,整个视图在发布时按预期闪烁,与低端设备相矛盾

我曾尝试在不同的场合使用此代码

touchedView.setLayerType(View.LAYER_TYPE_HARDWARE , null);
touchedView.setLayerType(View.LAYER_TYPE_SOFTWARE , null);

这稍微改进了动画,但对问题没有任何帮助

我通过禁用整个应用程序的硬件加速功能解决了这个问题。显然,在android 4.3之前,硬件加速功能存在缺陷,但由于信息不是官方的,我可能在确切的版本号上弄错了