アクティビティ切り替えアニメーション
アクティビティ切り替えアニメーションを実現するには、overridePendingTransition に依存する必要があります。アクティビティに入るときのアニメーションと、アクティビティから出るときのアニメーションです。
StartActivity()またはfinish()の直後に呼び出す必要があることに注意してください
たとえば、MainActivityにButtonがある場合、ButtonをクリックしてOtherActivityにジャンプします。コードは次のとおりです。
Intent intent = new Intent(this, OtherActivity.class); startActivity(intent); this.overridePendingTransition(R.anim.enteralpha, R.anim.exitalpha);
インターフェース切り替えアニメーション
インターフェース切り替えアニメーションは ViewFlipper を利用して実現します
<ViewFlipper android:id="@+id/view_flipper" android:layout_width="match_parent" android:layout_height="match_parent" > <!-- 第一页 --> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="#009900" android:orientation="vertical" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="第一页" /> </LinearLayout> <!-- 第二页 --> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="#ffff00" android:orientation="vertical" > <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="第二页" /> </LinearLayout> </ViewFlipper>
@Override public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated method stub if (event.getAction() == MotionEvent.ACTION_DOWN) { startX = event.getX(); } else if (event.getAction() == MotionEvent.ACTION_UP) { float endX = event.getX(); if (endX > startX ) { flipper.showNext();// 显示下一页 } else if (endX<startX) { flipper.showPrevious();// 显示前一页 } return true; } return super.onTouchEvent(event); }