Продолжительность анимации системы Android

Мне просто интересно, как долго длится анимация системы Android (анимация для Действия A переключается на Деятельность B), и как я могу измерить это время. Должен ли я использовать некоторые инструменты или использовать лог в коде?

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>

Вы можете проверить всю продолжительность анимации в Android в Настройки -> Параметры разработчика. Это пользовательские настройки, которые означают, что вы не можете их изменить.

Вы можете установить продолжительность анимации в XML-файле, добавить строку

   android:duration="yourtime" 

fade_in.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" />

fade_out.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);
Другие вопросы по тегам