这样设置过渡动画,让你的Android手机变得更丝滑

本文介绍了一种通过ADB命令自定义安卓系统动画缩放速度的方法,包括窗口动画、过渡动画和Animator时长缩放,提供了实用的批处理脚本帮助用户实现个性化的设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

通过合理的设置安卓中过渡动画的缩放速度,可以让安卓手机中窗口的切换更自然、更流畅,操作上感觉更加的丝滑。安卓手机上一般有窗口动画缩放(window_animation_scale)、过渡动画缩放(transition_animation_scale)和Animator时长缩放(animator_duration_scale)可做设置。

但是大多安卓系统对于动画缩放速度的设置大多只有几个档位,如0.5x、0.75x、1x、1.5x、2x、5x、10x,无法随心所欲的调节,而且档位不多,无论怎么做组合,要不就是感觉动画快了,要不就是慢了,亦或是感觉生硬。本文带来的就是打破这个局限,随性DIY,找到那个最适合你的。

开始

首先本文是通过adb的方式改变安卓手机系统的动画缩放速度,而且脚本中adb的连接方式为USB连接。

步骤:

  1. 手机USB连接电脑
  2. 打开你安卓手机的开发者选项(如已开启进入下一步;如何开启,可以百度搜索自己手机怎么开启开发者选项)
  3. 进入开发者选择,打开USB调试,允许使用USB调试,手机可能会提示授权电脑允许USB调试,请点确认
  4. 下载文件SetAnimation.zip,解压,双击SetAnimation文件夹下的SetAnimation.bat脚本运行
  5. 脚本会连接手机,手机可能会提示授权电脑允许USB调试,请点确认
  6. 按照脚本的菜单设置即可,一般实测设置1.2-1.4会感觉比较丝滑,脚本限制了动画速度只能在0-10

检查是否设置成功:

  • 脚本在菜单页面会获取并显示你手机目前的缩放速度
  • 设置后检查开发者选项里动画缩放,原来为1x,设置为1.25x,若从1x变为1.5x则设置成功
  • 可以设置一个大一点的值,如5,可以明显感觉到动画过渡得很慢。

注意:设置完把USB调试给关了!!!

脚本界面:
SetAnimation

附录

代码附录,Windows的bat脚本,依赖于adb,照猫画虎写的,没啥技术含量,方便大家设置安卓的动画缩放速度。如果你有adb环境,可以保存成bat文件在Windows直接运行。

@REM @Author: Myles
@REM @Date:   2020-03-04 23:20:52

@echo off
title 安卓动画缩放设置


:checkConnected
echo.&echo 正在连接安卓设备...
for /f "delims=" %%i in ('adb devices') do (set status=%%i)
echo %status%|findstr "attached unauthorized" && (goto failToConnect) || (goto menu)

 
:failToConnect
cls
echo 连接手机失败,请检查USB调试是否打开和允许!
echo.&echo 按任意键重试...
set /p pass=
goto checkConnected

:menu
cls
echo.&echo   提示:
echo.&echo   建议设置在1.2x-1.4x之间,较为丝滑,多设置试试效果
echo.&echo   设置后检查开发者选项里动画缩放,原来为1x,设置为1.25x,若从1x变为1.5x则设置成功
echo.
echo.&echo   您手机目前的动画缩放值分别为:
for /f "delims=" %%i in ('adb shell settings get global window_animation_scale') do (set cur_was=%%i)
for /f "delims=" %%i in ('adb shell settings get global transition_animation_scale') do (set cur_tas=%%i)
for /f "delims=" %%i in ('adb shell settings get global animator_duration_scale') do ( set cur_ads=%%i)
echo.&echo   窗口动画缩放:%cur_was%x   过渡动画缩放:%cur_tas%x   Animator时长缩放:%cur_ads%x
echo.
echo.&echo   请选择您要执行的操作:
echo.&echo  【1】默认设置(全部设为1.25x)
echo.&echo  【2】一次设置(全部设为一个值)
echo.&echo  【3】逐项设置(一项项设置)
echo.&echo  【4】退出
echo.

set /p sel=请输入数字后回车:
If "%sel%"=="1" (goto setAnimation)
If "%sel%"=="2" (goto setAnimationAtOnce)
If "%sel%"=="3" (goto setAnimationOneByOne)
If "%sel%"=="4" (goto exit)
echo.&echo 输入无效,请重新输入!
pause
goto menu


:setAnimation
:: 窗口动画缩放
adb shell settings put global window_animation_scale 1.25
:: 过渡动画缩放
adb shell settings put global transition_animation_scale 1.25
:: Animator时长缩放
adb shell settings put global animator_duration_scale 1.25

echo.&echo 完成,请检查过渡动画是否设置成功!
echo.&pause
goto menu


:setAnimationAtOnce
echo.
set /p val=请输入0-10的缩放值:
call:verifyInput %val%, setAnimationAtOnce
:: 窗口动画缩放
adb shell settings put global window_animation_scale %val%
:: 过渡动画缩放
adb shell settings put global transition_animation_scale %val%
:: Animator时长缩放
adb shell settings put global animator_duration_scale %val%

echo.&echo 完成,请检查过渡动画是否设置成功!
echo.&pause
goto menu


:setAnimationOneByOne
echo.

:: 窗口动画缩放
:was
echo.&set /p was=请输入0-10的窗口动画缩放值(window_animation_scale):
call:verifyInput %was%, was
adb shell settings put global window_animation_scale %was%

:: 过渡动画缩放
:tas
echo.&set /p tas=请输入0-10的过渡动画缩放值(transition_animation_scale):
call:verifyInput %tas%, tas
adb shell settings put global transition_animation_scale %tas%

:: Animator时长缩放
:ads
echo.&set /p ads=请输入0-10的过渡动画缩放值(animator_duration_scale):
call:verifyInput %ads%, ads
adb shell settings put global animator_duration_scale %ads%

echo.&echo 完成,请检查过渡动画是否设置成功!
echo.&pause
goto menu


@REM 检验输入值(val, goto)
:verifyInput
if %~1 lss 0 (
	echo.&echo 非法输入,请输入0-10的缩放值
	goto %~2
)
if %~1 gtr 10 (
	echo.&echo 非法输入,请输入0-10的缩放值
	goto %~2
)
goto:eof

:: 退出
:exit
taskkill /f /im adb.exe
exit
### 回答1: 修改def_window_animation_scale设置可能会影响GMS(Google Mobile Services)测试。 def_window_animation_scale是Android系统中用于设置窗口动画持续时间的系统设置。如果将其修改为非默认值,则可能会影响应用程序的性能和用户体验。例如,如果将其设置为较低的值,则窗口动画可能会变得过于浅淡,而如果将其设置为较高的值,则窗口动画可能会变得过于浓重。 GMS测试是Google为确保GMS认证设备的质量和用户体验而开发的测试。如果修改def_window_animation_scale设置可能会导致应用程序性能或用户体验受到影响,则GMS测试可能会失败。因此,在进行GMS测试之前,建议保留def_window_animation_scale的默认值。 ### 回答2: 修改def_window_animation_scale不会直接影响GMS测试,但可能会对测试结果产生一定影响。 def_window_animation_scale是Android设备的一个系统设置,用于控制窗口动画缩放比例。修改该设置会改变窗口切换、打开和关闭动画的速度和流畅度。 在进行GMS测试时,测试人员通常会在测试设备上进行多个不同的测试,涵盖各种应用和功能的使用情况。在这个过程中,测试结果的准确性和可靠性非常重要。 如果我们修改了def_window_animation_scale的数值,可能会导致窗口动画的速度不再和默认设置一致。这可能会影响我们在测试过程中观察到的窗口切换、打开和关闭动画的效果。这些动画可能会变得过快或过慢,从而导致测试结果的偏差。 因此,在进行GMS测试时,我们通常建议将def_window_animation_scale保持在默认设置下,以确保测试结果的一致性和可比性。然而,如果我们明确知道修改了该设置不会对测试结果产生重大影响,并且需要测试与窗口动画相关的功能时,可以在这种情况下进行修改。 ### 回答3: 修改def_window_animation_scale参数不会直接影响GMS(Google Mobile Services)的测试。def_window_animation_scale是Android系统中的一个参数,控制着窗口动画缩放比例。它的值可以设置为0(关闭动画)、0.5(默认值)或者1(开启动画),用于调整系统窗口动画的速度。 GMS测试是针对Android设备上预装的Google服务和应用进行的一系列兼容性和功能性测试,如Google Play商店、谷歌账户、Google Play服务等。这些测试是在独立的虚拟环境中进行,不会直接受到def_window_animation_scale参数的影响。 然而,修改def_window_animation_scale参数可能会间接影响GMS测试的结果。例如,如果将def_window_animation_scale值设置为0,关闭窗口动画,可能会影响到某些应用界面的显示效果,导致无法正确执行某些测试用例。因此,在进行GMS测试时,建议保持def_window_animation_scale参数的默认值或根据具体测试需求进行调整,以确保测试的准确性和稳定性。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值