4

我只是想知道android系统动画(Activity A切换到Activity B的动画)持续时间是多长时间,我该如何测量这个时间。我应该使用一些工具还是使用代码登录?

4

3 回答 3

3

活动或片段之间的系统动画时间由(在xml中)定义:

@android:integer/config_activityShortDur
@android:integer/config_activityDefaultDur

或(在 Java 中):

android.R.integer.config_activityShortDur
android.R.integer.config_activityDefaultDur

从来源:

<!-- The duration (in milliseconds) of a short animation. -->
<integer name="config_shortAnimTime">200</integer>

<!-- The duration (in milliseconds) of a medium-length animation. -->
<integer name="config_mediumAnimTime">400</integer>

<!-- The duration (in milliseconds) of a long animation. -->
<integer name="config_longAnimTime">500</integer>

<!-- The duration (in milliseconds) of the activity open/close and fragment open/close animations. -->
<integer name="config_activityShortDur">150</integer>
<integer name="config_activityDefaultDur">220</integer>
于 2018-08-20T23:15:27.737 回答
1

您可以在设置 -> 开发人员选项下检查 Android 中的所有动画持续时间。这是用户偏好,这意味着您无法更改它。 在此处输入图像描述

于 2016-11-04T05:08:11.043 回答
1

您可以在 xml 文件中设置动画持续时间添加行

   android:duration="yourtime" 

淡入淡出.xml

<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
       android:interpolator="@android:anim/accelerate_interpolator"
       android:fromAlpha="0.0" android:toAlpha="1.0"
       android:duration="200" />

淡出.xml

    <?xml version="1.0" encoding="utf-8"?>
    <alpha xmlns:android="http://schemas.android.com/apk/res/android"
       android:interpolator="@android:anim/accelerate_interpolator"
       android:fromAlpha="1.0" android:toAlpha="0.0"
       android:fillAfter="true"
       android:duration="200" />

你可以这样打电话

Intent i = new Intent(this, NewActivity.class);
startActivity(i);
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
于 2016-11-04T04:28:42.087 回答