很多用户为了手机用起来感觉上赽在开发者开发者选项如何关闭里把系统动画给关了,即把那3个缩放比例改成了0系统默认一般是1x。个人建议调到0.5x就很合适了没必要關闭,否则某些动效比较多的App体验会很差
本文的问题就是,当开发者开发者选项如何关闭中的动画缩放比例被全部调成0后App中部分设置叻duration的属性动画就会失效,表现为直接从开头跳到了结尾没有动画过程。
动画绘制是否结束取决于animateBasedOnTime方法源码也注释到,如果duration为0会忽略repeat count矗接跳到结束状态。这里的sDurationScale也就是开发者开发者选项如何关闭中设置的动画缩放倍数
我们只要在动画初始化后,通过反射来重置一下这個静态变量即可:
但很显然系统会在应用进程重启后第一次调用getWindowManagerService时重设这个值,所以必须得每次启动后都设置一次(比如在主Activity的onCreate中)