it-swarm.com.de

Aktivität von unten nach oben anzeigen

Ich möchte eine activity von unten nach oben Animation mit Intent anzeigen.

Gib mir ein Beispiel dafür wie unten 

Intent i2 = new Intent(main.this, test.class);
startActivity(i2);

mit Animation von unten nach oben.

42
Nikhil

Definieren Sie eine Animation in res/anim/slide_in_up.xml:

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:fromYDelta="100%p" Android:toYDelta="0%p"
    Android:duration="@Android:integer/config_longAnimTime"/>

und noch eine unter res/anim/slide_out_up.xml:

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:fromYDelta="0%p" Android:toYDelta="-100%p"
    Android:duration="@Android:integer/config_longAnimTime"/>

Wenden Sie diese anschließend an, um startActivity aufzurufen:

Intent i2 = new Intent(main.this, test.class);
startActivity(i2);
overridePendingTransition( R.anim.slide_in_up, R.anim.slide_out_up );

Es gibt eine Einführung in die Android-Animation hier , die Ihnen weiterhelfen kann.

125
Mark Allison

Während ich googelte, rutschte der Übergang nach oben und landete hier, aber die Antwort von Mark ist unvollständig, ohne dass der Übergang mit der gleichen Aktivität einhergeht.

Overide beenden in Aktivität

@Override
public void finish() {
    super.finish();
    overridePendingTransition(R.anim.slide_from_top,R.anim.slide_in_top);
}

fertig()

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Lollipop) {
                finishAfterTransition();
            }else finish();

slide_from_top.xml

<translate xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:fromYDelta="-100%p" Android:toYDelta="0%p"
Android:duration="@Android:integer/config_shortAnimTime"/>

slide_in_top.xml

<translate xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:fromYDelta="0%p" Android:toYDelta="100%p"
Android:duration="@Android:integer/config_shortAnimTime"/>
1
Aklesh Singh

Erstens: Animieren Sie das Layout Ihrer Aktivität 1 , Zweitens: Zweitens: Starten Sie Ihre zweite Aktivität und animieren Sie ihr Inhaltslayout 

Verwenden Sie TranslateAnimation (int von X, int bis X, int von Y, int bis y); 

1
Houcine