android页面切换动画
16lz
2021-01-23
首先你要定义好,你要切换的动画效果,例如平移
<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false"> <translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="5000" /></set>
布局文件中
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <ViewFlipper android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/viewFilpper" > <!-- 第一页 --> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/firstpage" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/open" android:onClick="openActivity" /> </LinearLayout> <!-- 第二页 --> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#339900" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/secondpage" /> </LinearLayout> </ViewFlipper></LinearLayout>
activity中
package cn.wonders.animation;import android.support.v7.app.ActionBarActivity;import android.view.MotionEvent;import android.view.View;import android.view.animation.Animation;import android.view.animation.AnimationUtils;import android.widget.ViewFlipper;import android.content.Intent;import android.os.Bundle;public class MainActivity extends ActionBarActivity {private ViewFlipper viewFlipper;private float startX;private Animation enter_righttoleft;private Animation enter_lefttoright;private Animation out_lefttoright;private Animation out_righttoleft;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);viewFlipper = (ViewFlipper) findViewById(R.id.viewFilpper);//动画效果enter_righttoleft = AnimationUtils.loadAnimation(this, R.anim.enter_righttoleft);enter_lefttoright = AnimationUtils.loadAnimation(this, R.anim.enter_lefttoright);out_lefttoright = AnimationUtils.loadAnimation(this, R.anim.out_lefttoright);out_righttoleft = AnimationUtils.loadAnimation(this, R.anim.out_righttoleft);}//滑动转换@Overridepublic boolean onTouchEvent(MotionEvent event) {if(event.getAction() == MotionEvent.ACTION_DOWN) {startX = event.getX();}else if (event.getAction()==MotionEvent.ACTION_UP) {float endX = event.getX();if(endX > startX) {viewFlipper.setInAnimation(out_righttoleft);viewFlipper.setOutAnimation(out_lefttoright);viewFlipper.showPrevious();}else if(endX < startX){viewFlipper.setInAnimation(enter_lefttoright);viewFlipper.setOutAnimation(enter_righttoleft);viewFlipper.showNext();}}return super.onTouchEvent(event);}public void openActivity(View v) {Intent intent = new Intent(this, OtherActivity.class);startActivity(intent);//activity切换动画效果overridePendingTransition(R.anim.enteralpha, R.anim.outalpha);}}
将可以实现,屏幕滑动切换动画效果
更多相关文章
- android实现渐变效果
- Android在View中的动画
- android 彩带动画,粒子动画
- android canvas中的save()和restore()的作用及效果
- android仿安卓微信、云播雷达扫描动画效果
- Android为返回键设置动画效果
- 【android动画】关于android:persistentDrawingCache的解释
- Android 模糊效果实现