解决部分设备上加载更多动画不起作用
其实根本上是因为动画在设备上不启动作用。
这里提供一种可能:设备默认关闭了动画,动画时长为0;
解决方法:
try { // 如果动画被关闭了,就打开并设置时长为1
Field field = ValueAnimator.class.getDeclaredField("sDurationScale");
if (field != null){
field.setAccessible(true);
if (field.getFloat(null) == 0){
field.setFloat(null, 1);
}
}
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
通过反射拿到设备动画设置,如果动画时长为0,则设为正常值1。
以上解决!
本文介绍了一种解决在部分设备上加载更多动画不起作用的问题。根本原因是设备默认关闭了动画,动画时长为0。解决方案是通过反射获取设备动画设置,若动画时长为0,则将其设置为正常值1。
8262

被折叠的 条评论
为什么被折叠?



