Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the default transition between activities in Android 4.0 (API 14+)

I built an application with quite a few activities and I would like to have "slide from right on enter/slide from left on exit" transitions between them.

I read more than once that slide transitions should be the Android default, but on the device I am developing on the transitions are fade in/fade out by default (Galaxy Tab 2 7", on ICS 4.0).

Is there anything I need to declare at application level, for example in the manifest file?

I am asking because otherwise I would need to add overridePendingTransition (R.anim.right_slide_in, R.anim.left_slide_out); to all my transitions which are plenty...just wondering if I am missing something before going that road.

Many thanks

like image 465
Mirko Avatar asked Dec 13 '12 09:12

Mirko


People also ask

What are Android transitions?

Android's transition framework allows you to animate all kinds of motion in your UI by simply providing the starting layout and the ending layout.

Which of the following transitions is a shared elements transition?

Customizing Shared Elements Transition In Android L, shared elements transition defaults to a combination of ChangeBounds, ChangeTransform, ChangeImageTransform, and ChangeClipBounds. This works well for most typical cases. However, you may customize this behavior or even define your own custom transition.


2 Answers

In your style.xml file put

 <style name="WindowAnimationTransition">
    <item name="android:windowEnterAnimation">@android:anim/slide_in_left</item>
    <item name="android:windowExitAnimation">@android:anim/slide_out_right</item>
</style>

and add

 <style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
   ...
    <item name="android:windowAnimationStyle">@style/WindowAnimationTransition</item>
</style>
like image 139
Rajesh Koshti Avatar answered Oct 18 '22 05:10

Rajesh Koshti


No answers...on the devices 4+ I tried, the animation is a fade-in fade-out with zoom in or out...

I added the code manually where I wanted to have the slide animation:

//open activity
startActivity(new Intent(this, MyActivity.class));
overridePendingTransition(R.anim.right_slide_in, R.anim.left_slide_out);

xml animation right to left:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_decelerate_interpolator" >

<translate
    android:duration="300"
    android:fromXDelta="100%p"
    android:toXDelta="0" />

</set>

xml animation left to right:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_decelerate_interpolator" >

<translate
    android:duration="300"
    android:fromXDelta="0"
    android:toXDelta="-100%p" />

</set>
like image 10
Mirko Avatar answered Oct 18 '22 07:10

Mirko