首页 > 代码库 > Android开发中activity切换动画的实现

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开发中activity切换动画的实现