100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > Android代码关闭过渡动画 关闭Android过度缩放动画

Android代码关闭过渡动画 关闭Android过度缩放动画

时间:2021-02-02 13:24:03

相关推荐

Android代码关闭过渡动画 关闭Android过度缩放动画

这三个“缩放”的具体含义如下:

窗口动画缩放:

Scaling factor for normal window animations. Setting to 0 will disable window animations. //作用于非Activity窗口

过渡动画缩放:

Scaling factor for activity transition animations. Setting to 0 will disable window animations. //作用于Activity窗口

动画程序时长缩放:

Scaling factor for Animator-based animations. This affects both the start delay and duration of all such animations. Setting to 0 will cause animations to end immediately. The default value is 1.//作用于全局的动画时长

代码关闭Android过度缩放动画

获取WindowManager句柄,通过binder调用WindowManagerService中setAnimationScale方法

//setAnimationScale(0.0f, 0.0f, 1.0f);

/**

* @para

* value1 窗口动画缩放

* value2 过渡动画缩放

* value3 Animator时长缩放

*/

private void setAnimationScale(float value1, float value2, float value3) {

IWindowManager mWindowManager = IWindowManager.Stub.asInterface(ServiceManager.getService(Context.WINDOW_SERVICE));

try {

float[] values = {value1, value2, value3};

mWindowManager.setAnimationScales(vars);

} catch (RemoteException e) {

e.printStackTrace();

}

}

修改开发者选项中动画缩放的默认值

frameworks/base/core/res/res/values/config.xml

0.5

frameworks/base/services/core/java/com/android/server/wm/WindowManagerService.java

private float mWindowAnimationScaleSetting = 0.5f;

private float mTransitionAnimationScaleSetting = 0.5f;

private float mAnimatorDurationScaleSetting = 0.5f;

当然,最好还是修改framework的默认值。(framework部分没有实践过,需要自己去尝试一下)

参考

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。