Intereting Posts
GCMRegistrar getRegistrationId возвращает пустой идентификатор Не хотите, чтобы мягкая клавиатура автоматически показывалась при запуске – Android LinearLayout: layout_gravity = "bottom" не работает на горизонтальном LinearLayout Gradle – дубликаты библиотек в зависимостях Открывается множество баз данных Android Как вернуть массив int из Java в JNI Как CursorLoader автоматически обновляет представление, даже если приложение неактивно? DialogFragment и сила для отображения клавиатуры Добавление растрового изображения водяного знака поверх видео в android: MediaMuxer 4.3 или ffmpeg Где я могу найти библиотеку поддержки android-v7 Как Google проверяет SHA1 и имя пакета в вызовах API? Фатальный сигнал 11 (SIGSEGV) при 0x00000000 (код = 1) – PhoneGap Быстрые динамические вершины в OpenGL ES 2.0 на Android Метод, вызванный после исключения release (), не смог возобновить работу с камерой android Не отображается панель действий Android

Как изменить все переходы активности сразу в приложении Android?

Я знаю, что я могу изменить переход активности, используя следующий код сразу после startActivity () или finish ()

activity.overridePendingTransition(R.anim.activity_close_enter, R.anim.activity_close_exit);

Но если у меня есть десять действий в моем приложении, я должен сделать это десять раз; И его довольно сложно модифицировать. Поэтому мне интересно, есть ли способ установить переход для всех действий в приложении сразу. Есть ли соответствующая конфигурация в AndroidManifest.xml?

Благодаря!

Solutions Collecting From Web of "Как изменить все переходы активности сразу в приложении Android?"

Сначала вы хотите создать <style> в res / styles.xml, например:

  <style name="YourAnimation.Activity" parent="@android:style/Animation.Activity"> <item name="android:windowEnterAnimation">@anim/your_in_down</item> <item name="android:windowExitAnimation">@anim/your_out_down</item> </style> 

Затем вы можете применить стиль к теме в том же файле:

  <style name="YourTheme" parent="android:Theme.Translucent"> ... <item name="android:windowAnimationStyle">@style/YourAnimation.Activity</item> </style> 

И, наконец, примените тему к своей деятельности в манифесте:

  <activity android:name=".YourActivity" android:theme="@style/YourTheme" /> 

Посмотрите на эти ссылки для справки:

  • Ссылка для Android – Применить тему
  • Android Reference – WindowEnterAnimation

Я знаю, что это ответ, но вот что я сделал в своей жизни. Мы по-прежнему поддерживаем API 14, поэтому некоторые анимации отсутствуют, и мне пришлось втягивать проект из API 22 (slide_in_right, slide_out_left). Это делается для того, чтобы показывать слайды на экранах при открытии нового действия и перемещать его влево. Когда вы нажмете назад, он будет делать обратное, сдвигая с левой стороны предыдущий экран и закрывая вправо текущий экран.

 <style name="YourTheme" parent="android:Theme.Translucent"> ... <item name="android:windowAnimationStyle">@style/YourAnimation.Activity</item> </style> <style name="YourAnimation.Activity" parent="@android:style/Animation.Activity"> <item name="android:activityOpenEnterAnimation">@anim/slide_in_right</item> <item name="android:activityOpenExitAnimation">@anim/slide_out_left</item> <item name="android:activityCloseEnterAnimation">@android:anim/slide_in_left</item> <item name="android:activityCloseExitAnimation">@android:anim/slide_out_right</item> </style> 

Мое решение в основном похоже на ответ JPM. Но вот какой-то дополнительный файл, который вам может потребоваться.

 <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> <!-- Customize your theme here. --> <item name="colorPrimary">@color/colorPrimary</item> <item name="colorPrimaryDark">@color/colorPrimaryDark</item> <item name="colorAccent">@color/colorPrimary</item> <item name="android:windowAnimationStyle">@style/CustomActivityAnimation</item> </style> <style name="CustomActivityAnimation" parent="@android:style/Animation.Activity"> <item name="android:activityOpenEnterAnimation">@anim/slide_in_right</item> <item name="android:activityOpenExitAnimation">@anim/slide_out_left</item> <item name="android:activityCloseEnterAnimation">@anim/slide_in_left</item> <item name="android:activityCloseExitAnimation">@anim/slide_out_right</item> </style> 

Создайте папку с файлами под папкой res и создайте четыре файла анимации:

slide_in_right.xml

 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="@android:integer/config_mediumAnimTime"/> </set> 

slide_out_left.xml

 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="0" android:toXDelta="-100%p" android:duration="@android:integer/config_mediumAnimTime"/> </set> 

slide_in_left.xml

 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="-100%p" android:toXDelta="0" android:duration="@android:integer/config_mediumAnimTime"/> </set> 

slide_out_right.xml

 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:fromXDelta="0" android:toXDelta="100%p" android:duration="@android:integer/config_mediumAnimTime"/> </set>