activity切换动画和页面切换动画
jopen
9年前
Activity切换动画
要实现Activity切换动画需要靠overridePendingTransition来实现,里面有两个参数分别是进入Activity时的动画和离开Activity时的动画。
需要注意的是必须在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); }
这样在手指左右滑动的时候切换页面。