Fade in Activity от предыдущей активности на Android

В настоящее время я работаю над Android-приложением, и у меня возникают некоторые проблемы с моей активностью всплеска. Я хочу, чтобы моя основная деятельность исчезла из моей активности всплеска, а не с черного экрана. И мой всплеск, и основные действия используют одно и то же фоновое изображение, поэтому, если я делаю компиляцию fade_in / fade_out, это выглядит странно, поскольку фоновый вид немного затухает во время перехода.

Идея здесь заключается в том, что у меня есть версии моего логотипа: нормальный и светящийся. Я хочу, чтобы моя основная деятельность исчезла, поэтому мой светящийся логотип заставляет мой обычный логотип вызывать аккуратный небольшой эффект «включить». Следующий код исчезает с черного экрана, что не идеально.

/** * Pause Activity */ @Override protected void onPause() { super.onPause(); finish(); overridePendingTransition(android.R.anim.fade_in, 0); } 

РЕДАКТИРОВАТЬ:

Создавая мою собственную анимацию fade_out, чтобы сохранить 1.0 альфа-уровень (от 1.0 до 1.0) и добавить android:fillAfter="true" мой набор анимации всплеска android:fillAfter="true" проблему.

Solutions Collecting From Web of "Fade in Activity от предыдущей активности на Android"

Речь идет о порядке вещей. Вот пример, который исчезает в следующем действии через 3 секунды:

 new Handler().postDelayed(new Runnable() { @Override public void run() { //Create an intent that will start the main activity. Intent mainIntent = new Intent(SplashActivity.this, MainMenuActivity.class); SplashActivity.this.startActivity(mainIntent); //Finish splash activity so user cant go back to it. SplashActivity.this.finish(); //Apply splash exit (fade out) and main entry (fade in) animation transitions. overridePendingTransition(R.anim.mainfadein, R.anim.splashfadeout); } }, 3000); 

Обратите внимание, что здесь две анимации исчезают и исчезают.

mainfadein.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="700" /> 

splashfadeout.xml

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

Я бы рекомендовал против классического кроссфейда, а скорее продемонстрировал новую активность без анимации и просто погасил текущую активность. Это выглядит и выглядит намного чище и устраняет некоторые незначительные проблемы, когда вы можете увидеть приложение запуска / основного приложения, когда вы открываете приложение из фона во время запуска анимации.

my_splash_fade_out.xml

 <?xml version="1.0" encoding="utf-8"?> <alpha xmlns:android="http://schemas.android.com/apk/res/android" android:duration="750" android:fromAlpha="1.0" android:interpolator="@android:interpolator/accelerate_cubic" android:startOffset="250" android:toAlpha="0.0" android:zAdjustment="top" /> 

Я добавляю startOffset здесь, чтобы дать вновь созданному Управлению немного начальный старт, так как он довольно тяжелый.

MySplashActivity.java

 ... startActivity( ... ); finish(); overridePendingTransition( 0, R.anim.screen_splash_fade_out ); 

предварительный просмотр

Просмотр анимации