android棒棒糖动画故障

时间:2015-01-12 08:26:35

标签: android android-layout android-fragments android-animation android-5.0-lollipop

我在运行Android 5(Lollipop)的设备中使用默认布局动画有一种奇怪的行为。我正在使用具有多个Fragments的活动,这些活动在运行时使用默认的片段管理器进行替换。当替换旧片段时,我想使用动画来实现流畅的ui流。在pre-lollipop设备上,动画的工作方式与预期的一样,但在运行最新操作系统的设备上,片段故障之间的动画:

Glitch screen shot

我尝试使用默认动画xml标记

android:animateLayoutChanges="true"

因为它不起作用,我使用此代码更改了它,但没有效果

mTransaction = mManager.beginTransaction();
        mTransaction.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out);
        mTransaction.remove(mFragment);
        mTransaction.add(R.id.container, mFragment, "fragment");
        mTransaction.commit();

我已经在不同设备和Android模拟器中测试了代码。奇怪的是,它在运行最新操作系统(5.0.1)的运行最新操作系统(5.0.1)的Android模拟器中运行pre-lollipop 的设备上的工作方式。 但它不适用于运行Android 5.0的Nexus 4和Nexus 5等设备

有什么建议吗?任何帮助?

先谢谢

修改

根据使用的设备,它似乎是一个错误。我已经在不同设备(三星Galaxy S4,HTC(One mini2,One M8,Desire S),Nexus 4& 5)上测试了代码,它只出现在谷歌nexus设备上。

修改

解决动画问题的一种解决方法是通过

禁用硬件加速

<application android:hardwareAccelerated="false">

应用清单中的

标签。但使用这个使应用程序非常慢。

解决方案

解决此问题的解决方案是为活动设置背景图像/颜色/可绘制。 see

1 个答案:

答案 0 :(得分:2)

设置根活动的background颜色(当用户不可见时!),图形故障也消失了。