Create animation XMLs in /res/anim/ folder.
/res/anim/left_out.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator">
<translate
android:fromXDelta="0"
android:toXDelta="-100%p"
android:duration="500"/>
</set>
/res/anim/right_in.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator">
<translate
android:fromXDelta="100%p"
android:toXDelta="0"
android:duration="500"/>
</set>
/res/anim/top_out.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator">
<translate
android:fromYDelta="0"
android:toYDelta="-100%p"
android:duration="500"/>
</set>
/res/anim/bottom_in.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator">
<translate
android:fromYDelta="100%p"
android:toYDelta="0"
android:duration="500"/>
</set>
MainActivity.java
package com.example.androidactivityanimation;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.app.Activity;
import android.content.Intent;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button switchButton = (Button)findViewById(R.id.switchbutton);
switchButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
Intent intent = new Intent();
intent.setClass(MainActivity.this, Activity2.class);
startActivity(intent);
overridePendingTransition(R.anim.right_in, R.anim.left_out);
}});
}
}
/res/layout/activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<Button
android:id="@+id/switchbutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Switch Activity2" />
</LinearLayout>
Activity2.java
package com.example.androidactivityanimation;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class Activity2 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout2);
Button backButton = (Button)findViewById(R.id.backbutton);
backButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
finish();
overridePendingTransition(R.anim.bottom_in, R.anim.top_out);
}});
}
}
/res/layout/layout2.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Activity2" >
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/ic_launcher"/>
<Button
android:id="@+id/backbutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Back" />
</RelativeLayout>
AndroidManifest.xml have to be modified to add <activity> of Activity2.
Download the files.
Related:
- Start Animation in Activity start
thanks
ReplyDeleteHi, I deployed your app to my phone but the activity switches are done without the sliding animation. Any ideas why might this be?
ReplyDeleteI also see no animations.
ReplyDeleteWorks perfect!
ReplyDeleteAwesome Code...
ReplyDeleteJust Implemented it into My App..
Working 100 % Fine..
Thanks for the short & sweet Code... :)
Animation is not working
ReplyDeleteYa Right this animation not working in my s4 , mi4 why ..?
ReplyDeleteBut its working in genymotion emulator ..tell me asap thanks
kushalw3t@gmail.com
nice one it's work Thanks Dude.......
ReplyDeleteit,s not working..
ReplyDeleteanimation not working bro guide me in this regards ......
ReplyDeletethanks in advance