How to launch an android app(not an activity) from the bottom of the screen to top?

263 Views Asked by At

I have used overridePendingTransition()already but it is used to open an activity with the given transition not an app.

Moreover it works only when you are having an intent on clicking on a button, it won't work if use overridePendingTransition() in onCreate()

  @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        Intent i = new Intent(Main2Activity.this,MainActivity.class);
        startActivity(i);
        overridePendingTransition(R.anim.slide_in_up,R.anim.slide_out_up);
    }
1

There are 1 best solutions below

8
Amir On BEST ANSWER

before setContentView use following code :

overridePendingTransition(R.anim.slide_in_from_bottom, R.anim.fade_out);

and in your finish() use following code :

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

and create anim folder and put these files :

slide_in_from_bottom:

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:zAdjustment="top">
    <translate
            android:duration="400"
            android:fromYDelta="100%p"
            android:toYDelta="0%p"
            >
    </translate>
    <alpha
            android:fromAlpha="0.8"
            android:toAlpha="1.0"
            android:duration="400"
            />
</set>

slide_out_back_to_bottom:

 <set xmlns:android="http://schemas.android.com/apk/res/android"
         android:zAdjustment="top">
        <translate
                android:duration="400"
                android:fromYDelta="0%p"
                android:toYDelta="100%p"
                >
        </translate>
        <alpha
                android:fromAlpha="1.0"
                android:toAlpha="0.8"
                android:duration="400"
                />
    </set>

fade_in:

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:zAdjustment="bottom">
    <alpha
            android:fromAlpha="0.0"
            android:toAlpha="1.0"
            android:duration="300"
            />
</set>

fade_out:

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:zAdjustment="bottom">
    <alpha
            android:fromAlpha="1.0"
            android:toAlpha="0.0"
            android:duration="200"
            />
</set>

complete implementation can be found here.