android切换页面上滑动动画,Android实现页面滑动切换动画

本文实例为大家分享了Android实现页面滑动切换动画的具体代码,供大家参考,具体内容如下

实现两个页面滑动切换,一些相册的效果也是如此

一个Activity的界面配置文件

activity_main.xml:

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:id="@+id/viewFlipper"

>

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:background="#339900"

>

android:layout_width="wrap_content"

android:layout_height="fill_parent"

android:text="第一页"

/>

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

android:layout_width="wrap_content"

android:layout_height="fill_parent"

android:text="第二页"

/>

MainActivity.java:

package com.example.activitymove;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.view.MotionEvent;

import android.view.View;

import android.view.animation.Animation;

import android.view.animation.AnimationUtils;

import android.widget.ViewFlipper;

public class MainActivity extends Activity {

private ViewFlipper viewFlipper;

private float startX;

private float endX;

private Animation in_lefttoright;

private Animation out_lefttoright;

private Animation in_righttoleft;

private Animation out_righttoleft;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

in_lefttoright=AnimationUtils.loadAnimation(this, R.anim.enter_lefttoright);

out_lefttoright=AnimationUtils.loadAnimation(this, R.anim.out_lefttoright);

in_righttoleft=AnimationUtils.loadAnimation(this, R.anim.enter_righttoleft);

out_righttoleft=AnimationUtils.loadAnimation(this, R.anim.out_righttoleft);

viewFlipper=(ViewFlipper) this.findViewById(R.id.viewFlipper);

}

//处理触屏时间的方法

//手在屏幕上向右滑动然后松开翻下一页,向左翻显示前一页

public boolean onTouchEvent(MotionEvent event) {

if(event.getAction()==MotionEvent.ACTION_DOWN){

//记录手放在屏幕上的点位置

startX=event.getX();

}else if(event.getAction()==MotionEvent.ACTION_UP){

//记录手离开屏幕上的点位置

endX=event.getX();

if(endX>startX){

viewFlipper.setInAnimation(in_lefttoright);

viewFlipper.setOutAnimation(out_lefttoright);

viewFlipper.showNext();//显示下一页

}else if(endX

viewFlipper.setInAnimation(in_righttoleft);

viewFlipper.setOutAnimation(out_righttoleft);

viewFlipper.showPrevious();//显示前一页

}

return true;

}

return super.onTouchEvent(event);

}

}

在res/anim/文件夹下有

enter_lefttoright.xml和enter_righttoleft.xml

out_lefttoright.xml和out_righttoleft.xml

四个动画配置文件:

enter_lefttoright.xml:

android:shareInterpolator="false">

android:fromXDelta="-100%p"

android:toXDelta="0"

android:duration="1000"

/>

enter_righttoleft.xml:

android:shareInterpolator="false">

android:fromXDelta="100%p"

android:toXDelta="0"

android:duration="1000"

/>

out_lefttoright.xml:

android:shareInterpolator="false">

android:fromXDelta="0"

android:toXDelta="100%p"

android:duration="1000"

/>

out_righttoleft.xml:

android:shareInterpolator="false">

android:fromXDelta="0"

android:toXDelta="-100%p"

android:duration="1000"

/>

效果:用手向右滑动,整个页面向右慢慢滑动,切换页面,用手向左滑动,整个页面向左慢慢滑动,切换页面。

(将配置文件换成其他的动画效果也可以,本例子使用的是移入移出的动画效果)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值