效果:



布局:


                                                                                    


定义动画效果:

package com.cn.zzti.ly.util;import android.view.animation.Animation;import android.view.animation.TranslateAnimation;/* * 定义动画效果 */public class AnimationUtil {public static Animation inLeftToRight() {//定义平移动画TranslateAnimation translateAnimation = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, -1.0f,Animation.RELATIVE_TO_PARENT, 0.0f,Animation.RELATIVE_TO_PARENT, 0.0f,Animation.RELATIVE_TO_PARENT, 0.0f);translateAnimation.setDuration(300);//设置持续时间return translateAnimation;}public static Animation outLeftToRight() {TranslateAnimation translateAnimation = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0.0f,Animation.RELATIVE_TO_PARENT, 1.0f,Animation.RELATIVE_TO_PARENT, 0.0f,Animation.RELATIVE_TO_PARENT, 0.0f);translateAnimation.setDuration(300);return translateAnimation;}public static Animation inRightToLeft() {TranslateAnimation translateAnimation = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 1.0f,Animation.RELATIVE_TO_PARENT, 0.0f,Animation.RELATIVE_TO_PARENT, 0.0f,Animation.RELATIVE_TO_PARENT, 0.0f);translateAnimation.setDuration(300);return translateAnimation;}public static Animation outRightToLeft() {TranslateAnimation translateAnimation = new TranslateAnimation(Animation.RELATIVE_TO_PARENT, 0.0f,Animation.RELATIVE_TO_PARENT, -1.0f,Animation.RELATIVE_TO_PARENT, 0.0f,Animation.RELATIVE_TO_PARENT, 0.0f);translateAnimation.setDuration(300);return translateAnimation;}}

Activity:

package com.cn.zzti.ly.ui;import com.cn.zzti.ly.util.AnimationUtil;import android.app.Activity;import android.os.Bundle;import android.view.MotionEvent;import android.widget.ViewFlipper;public class MainActivity extends Activity {private ViewFlipper viewFlipper;private float startX;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);viewFlipper = (ViewFlipper) this.findViewById(R.id.viewFlipper);}@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 + 50){//设置进入和出去的平移动画效果viewFlipper.setInAnimation(AnimationUtil.inLeftToRight());viewFlipper.setOutAnimation(AnimationUtil.outLeftToRight());viewFlipper.showNext();//显示下一页}else if (endX < startX - 50){viewFlipper.setInAnimation(AnimationUtil.inRightToLeft());viewFlipper.setOutAnimation(AnimationUtil.outRightToLeft());viewFlipper.showPrevious();//显示前一页}return true;}return super.onTouchEvent(event);}}


更多相关文章

  1. 用android:clipChildren来实现红心变大特效
  2. Android(安卓)实现全屏和无标题栏的显示
  3. Android多种View动画:EasyAndroidAnimations
  4. Android开发实现拖动效果
  5. android之实现各个组件点击事件处理
  6. Android之gif动画实现
  7. Android开发实现拖动效果
  8. RecyclerView 实现item点击水波纹动画
  9. Android多媒体应用——ImageSwitcher

随机推荐

  1. 查询自定义VO对象的sql
  2. 如果没有明确使用ISNULL,则左连接失败
  3. qt sql多重条件查询简便方法
  4. SQLServer行转列的问题
  5. 数据库操作类实现(C#,SqlClient)
  6. TTable怎样实现类似SQL Select..form...w
  7. 重复的数据只取一条,请问SQL语句怎么写
  8. Mysql设置自增长主键的初始值
  9. mysql通过复制data文件夹进行数据迁移
  10. 为什么明明登陆了plsql执行还报错呢