Как заставить actyity исчезать в android? Я использовал следующий код, но ничего не происходит
public class MetroActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.metro_splash);
getWindow().setWindowAnimations(R.anim.intro_anim);
Runnable r= new Runnable() {
@Override
public void run() {
Intent i = new Intent(getApplicationContext(),MainActivity.class);
startActivity(i);
}
};
Handler h = new Handler();
h.postDelayed(r, 3000);
}
}
анимация xml:
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="100"
android:fromAlpha="0.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:toAlpha="1.0" />
используйте этот код для плавного выгорания между двумя видами деятельности:
fadein.xml в res/anim:
<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="100" />
fadeout.xml в res/anim
<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:duration="100" />
поставьте следующее в методе onCreate для Activity MainActivity. Перед установкой setContentView работает для меня.
overridePendingTransition(R.anim.fadein, R.anim.fadeout);
ПРИМЕЧАНИЕ. Если вы используете Android2.o или выше, то overridePendingTransition работает
РЕДАКТИРОВАТЬ:
или Попробуйте после ввода этого кода в MainActivity
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.metro_splash);
getWindow().setWindowAnimations(R.anim.intro_anim);
Animation anim = AnimationUtils.loadAnimation(this,R.anim.animation);
// 'body' is root layout id which is for MainActivity
findViewById(R.id.body).startAnimation(anim);
}