Android开发中activity切换动画的实现

 

(1)我们在MainAcitvity中定义两个textview,用于点击触发切换Activity事件,下面是布局文件代码。

  <LinearLayout

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:background="@drawable/top_bg"

            android:orientation="horizontal" >

            <LinearLayout

                android:id="@+id/list_all"

                android:layout_width="match_parent"

                android:layout_height="match_parent"

                android:layout_weight="1.0"

                android:background="@drawable/btn_bottom_bg"

                android:clickable="true"

                android:gravity="center"

                android:orientation="vertical" >

                <TextView

                    android:id="@+id/tv_all"

                    android:layout_width="wrap_content"

                    android:layout_height="wrap_content"

                    android:drawableLeft="@drawable/city"

                    android:drawablePadding="5.0dip"

                    android:duplicateParentState="true"

                    android:gravity="center"

                    android:text="@string/all"

                    android:textColor="@color/white"

                    android:textSize="13.5sp" />

            </LinearLayout>

            <LinearLayout

                android:id="@+id/list_school"

                android:layout_width="match_parent"

                android:layout_height="match_parent"

                android:layout_weight="1.0"

                android:background="@drawable/btn_bottom_bg"

                android:clickable="true"

                android:gravity="center"

                android:orientation="vertical" >

                <TextView

                    android:id="@+id/tv_school"

                    android:layout_width="wrap_content"

                    android:layout_height="wrap_content"

                    android:drawableLeft="@drawable/location"

                    android:drawablePadding="5.0dip"

                    android:duplicateParentState="true"

                    android:gravity="center"

                    android:text="@string/school"

                    android:textColor="@color/white"

                    android:textSize="13.5sp" />

            </LinearLayout>

        </LinearLayout>

(2)为textView添加点击事件。重写overridePendingTransition方法,添加切换动画的效果,第一个参数是进入的效果,第二个参数是退出的效果。

TextView tv_all = (TextView) this.findViewById(R.id.tv_all);

        tv_all.setOnClickListener(new OnClickListener() {

            @Override

            public void onClick(View v) {

                Intent intent = new Intent();

                intent.setClass(SecondActivity.this, MainActivity.class);

                startActivity(intent);

                overridePendingTransition(R.anim.slide_in_left,  

                        R.anim.slide_out_right); 

            }

        });

(3)slide_in_left.xml进入的效果

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android" >  

    <translate  

        android:duration="500"  

        android:fromXDelta="-50%p"  

        android:toXDelta="0" />  

    <alpha  

        android:duration="500"  

        android:fromAlpha="0.0"  

        android:toAlpha="1.0" />  

</set>  

()slide_out_right.xml退出的效果

<?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="50%p" />

    <alpha 

        android:duration="500" 

        android:fromAlpha="1.0" 

        android:toAlpha="0.0" />  

</set>  

 

你可能感兴趣的:(Android开发)