解决部分设备上加载更多动画不起作用
其实根本上是因为动画在设备上不启动作用。
这里提供一种可能:设备默认关闭了动画,动画时长为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。
以上解决!