所以我需要做的是在代码中打开和关闭窗口和/或过渡动画,以获得与设置 > 显示 > 动画 > 禁用所有动画相同的效果。
我熟悉更改设备设置的方式是在 Settings.System.putInt() 方法中使用 ContentResolver,如下所示:
ContentResolver cr = getContentResolver();
Settings.System.putInt(cr, Settings.System.WINDOW_ANIMATION_SCALE, 0);
如文档“设置为 0 将禁用所有 .... 动画”中所述,这两种设置都适用。在使用 putInt() 方法之前和之后读取设置时,使用以下命令:
Settings.System.getString(cr, Settings.System.WINDOW_ANIMATION_SCALE);
我可以看到设置正在更改。然而,当然后做一些事情来开始一个窗口或过渡动画时,很明显可以看到设置没有任何区别并且过渡仍然发生。
我还想说,当我从“设置”屏幕中更改设置时,我可以看到重新运行我的应用程序时设置已更改。所以看起来这是正确的设置,我的应用程序没有正确更改它。
还有什么我想念的吗?
提前致谢。