在屏幕中滑动左右界面实现,页面的切换。

动画效果设置文件如下:

push_left_in.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"><translate android:fromXDelta="100%p" android:toXDelta="0"android:duration="500" /><alpha android:fromAlpha="0.1" android:toAlpha="1.0"android:duration="500" /></set>

push_left_out.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"><translate android:fromXDelta="0" android:toXDelta="-100%p"android:duration="500" /><alpha android:fromAlpha="1.0" android:toAlpha="0.1"android:duration="500" /></set>

push_right_in.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"><translate android:fromXDelta="-100%p" android:toXDelta="0"android:duration="500" /><alpha android:fromAlpha="0.1" android:toAlpha="1.0"android:duration="500" /></set>

push_right_out.xml

<?xml version="1.0" encoding="utf-8"?><set xmlns:android="http://schemas.android.com/apk/res/android"><translate android:fromXDelta="0" android:toXDelta="100%p"android:duration="500" /><alpha android:fromAlpha="1.0" android:toAlpha="0.1"android:duration="500" /></set>

实现代码如下:

package com.android.flip;import android.app.Activity;import android.os.Bundle;import android.view.GestureDetector;import android.view.MotionEvent;import android.view.View;import android.view.GestureDetector.OnGestureListener;import android.view.animation.AnimationUtils;import android.widget.ImageView;import android.widget.ViewFlipper;/** * 为了使其滑动时有一定的特效,我们需要加入Animation效果,说到Animation,我们先看下如何 * 在Android中实现自定义Animation。自定义的Animation是以XML格式定义的,定义好的XML文件 * 存放在res/anim中。   一般的Animation有以下四种类型:  1. Alpha:渐变透明度动画效果  2. Scale:渐变尺寸伸缩动画效果  3. Translate:画面转换位置移动动画效果  4. Rotate:画面转换位置移动动画效果 * Android实现左右滑动效果 * 通过ViewFilpper实现相关的左右滑动功能,ViewFilpper必须在GestureDetector的配合下实现 *  *  *  * @author longgangbai * */public class MainActivity extends Activity implements OnGestureListener {private ViewFlipper flipper;private GestureDetector detector;    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);                detector = new GestureDetector(this);flipper = (ViewFlipper) this.findViewById(R.id.ViewFlipper1);flipper.addView(addTextView(R.drawable.photo1));flipper.addView(addTextView(R.drawable.photo2));flipper.addView(addTextView(R.drawable.photo3));flipper.addView(addTextView(R.drawable.photo4));flipper.addView(addTextView(R.drawable.photo5));    }        private View addTextView(int id) {ImageView iv = new ImageView(this);iv.setImageResource(id);return iv;}        @Override    public boolean onTouchEvent(MotionEvent event) {    // TODO Auto-generated method stub    return this.detector.onTouchEvent(event);    }        @Overridepublic boolean onDown(MotionEvent e) {// TODO Auto-generated method stubreturn false;}        @Overridepublic boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY) {if (e1.getX() - e2.getX() > 120) {this.flipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_in));this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_left_out));this.flipper.showNext();return true;} else if (e1.getX() - e2.getX() < -120) {this.flipper.setInAnimation(AnimationUtils.loadAnimation(this, R.anim.push_right_in));this.flipper.setOutAnimation(AnimationUtils.loadAnimation(this, R.anim.push_right_out));this.flipper.showPrevious();return true;}return false;}        @Override    public void onLongPress(MotionEvent e) {    // TODO Auto-generated method stub        }        @Override    public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,    float distanceY) {    // TODO Auto-generated method stub    return false;    }        @Override    public void onShowPress(MotionEvent e) {    // TODO Auto-generated method stub        }        @Override    public boolean onSingleTapUp(MotionEvent e) {    // TODO Auto-generated method stub    return false;    }}

更多相关文章

  1. layout_weight详解
  2. Android马赛克效果MosaicView
  3. 安卓布局应用学习代码附带效果图
  4. Android(安卓)抽屉效果
  5. Android(安卓)shap Animation
  6. 【Android动画九章】-帧动画
  7. Android(安卓)中把Activity当作Dialog来使用
  8. Android(安卓)Activity切换动画 左右滑进滑出
  9. android.graphics.Paint类详解

随机推荐

  1. 还在为android图标适配烦恼?字体图标你值
  2. Android(安卓)上传图片到后台的一直方式B
  3. Android(安卓)Property System | Android
  4. Android常用UI之AlertDialog
  5. android Button 样式
  6. Android中监听Home键的4种方法总结
  7. Android动态加载技术初探
  8. 我的android 第14天 - 使用SQLiteDatabas
  9. Android中的树状(tree)列表
  10. Android中的控件