Продолжительность анимации системы 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>
Вы можете установить продолжительность анимации в 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);