Android user interface displayed through an activity. So that if you want transition between the activities can be animated using method overridePendingTransition.
FirstActivity.java
package helloworld.test.com.activitytransition; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; public class FirstActivity extends AppCompatActivity implements View.OnClickListener { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_first); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.startTransitionRightToLeft: startActivity(new Intent(FirstActivity.this, SecondActivity.class)); //transition from right to left overridePendingTransition(R.anim.right_in, R.anim.left_out); break; case R.id.startTransitionBottomToTop: startActivity(new Intent(FirstActivity.this, SecondActivity.class)); //transition from bottom to top overridePendingTransition(R.anim.bottom_in, R.anim.top_out); break; } } }
<?xml version="1.0" encoding="utf-8"?> <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=".FirstActivity"> <Button android:id="@+id/startTransitionRightToLeft" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="@string/right_to_left_animation" /> <Button android:id="@+id/startTransitionBottomToTop" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="@string/bottom_to_top_animation" /> </LinearLayout>
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="500" android:fromXDelta="100%p" android:toXDelta="0" /> </set>
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="500" android:fromXDelta="0" android:toXDelta="-100%p" /> > </set>
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="500" android:fromYDelta="100%p" android:toYDelta="0" /> </set>
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="500" android:fromYDelta="0" android:toYDelta="-100%p" /> </set>
package helloworld.test.com.activitytransition; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.View; public class SecondActivity extends AppCompatActivity implements View.OnClickListener{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.startTransitionLeftToRight: finish(); //transition from left to right overridePendingTransition(R.anim.left_in, R.anim.right_out); break; case R.id.startTransitionTopToBottom: finish(); //transition from top to bottom overridePendingTransition(R.anim.top_in, R.anim.bottom_out); break; } } }
activity_second.xml
<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:context="helloworld.test.com.activitytransition.SecondActivity"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay" /> </android.support.design.widget.AppBarLayout> <include layout="@layout/content_second" /> </android.support.design.widget.CoordinatorLayout>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" 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" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context="helloworld.test.com.activitytransition.SecondActivity" tools:showIn="@layout/activity_second"> <Button android:id="@+id/startTransitionLeftToRight" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="@string/left_to_right_animation" /> <Button android:id="@+id/startTransitionTopToBottom" android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="onClick" android:text="@string/top_to_bottom_animation" /> </LinearLayout>
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="600" android:fromXDelta="-100%" android:toXDelta="0" /> </set>
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" > <translate android:duration="600" android:fromXDelta="0%" android:toXDelta="100%" /> </set>
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="500" android:fromYDelta="-100%p" android:toYDelta="0" /> </set>
<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <translate android:duration="500" android:fromYDelta="0" android:toYDelta="100%p" /> </set>
No comments:
Post a Comment