Как сделать так, чтобы актерство исчезло в андроиде

1

Как заставить 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" />
  • 0
    Бадер, почему вы не используете Activity.overridePendingTransition () для замирания?
Теги:
android-activity
layout
animation

1 ответ

3
Лучший ответ

используйте этот код для плавного выгорания между двумя видами деятельности:

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);
    }

Ещё вопросы

Сообщество Overcoder
Наверх
Меню