Android动画设备之间不一致

时间:2015-10-28 14:54:42

标签: java android animation android-animation

使用视图动画我将视图的x和y设置为用户触摸的x和y。这会将所讨论的视图设置为所需位置。当触摸事件被取消时,视图会在较长的持续时间内通过相同类型的动画进行动画处理,以使视图捕捉到其原始位置的效果。

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

当我使用debug选项显示gpu渲染并将视图拖动到所需位置时,整个屏幕会按预期闪烁。当我释放视图时,只有视图中原始位置的块闪烁,并且只有在视图进入该区域并且在视图中必须可见的时间间隔上捕捉到该区域时才能看到动画。块。

这个动画在低端和高端设备上占用相同的时间,在高端设备上,整个视图在发布时闪现,与低端设备相矛盾。

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

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

略微改进了动画但对问题没有任何作用。

1 个答案:

答案 0 :(得分:0)

我通过禁用整个应用程序的硬件加速来修复问题显然有硬件加速的bug直到android 4.3但我可能会误认为确切的版本号,因为信息不是官方的