ViewFlipper

来源:互联网 发布:重启mysql服务 编辑:程序博客网 时间:2024/06/03 18:49

ViewFlipper

1.手势注册

在res文件夹下新建anim文件件,存放left_in.xml、left_out.xml、right_in.xml、right_out.xml四个文件。

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="600"
       
/>
    <alpha
       
android:fromAlpha="0.1"
       
android:toAlpha="1.0"
       
android:duration="600"
       
/>

</set>

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="600"        />    <alpha        android:fromAlpha="1.0"        android:toAlpha="0.1"        android:duration="600"        /></set>

right_in.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="600"    /><alpha    android:fromAlpha="1.0"    android:toAlpha="0.1"    android:duration="600"    /></set>

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="600"        />    <alpha        android:fromAlpha="1.0"        android:toAlpha="0.1"        android:duration="600"        /></set>

 

activity要实现接口OnGestListener(import android.view.GestureDetector; importandroid.view.GestureDetector.OnGestureListener;)

2.实现接口OnGestListener

声明对象

private ViewFlipper viewFlipper; //滑动播放图片的控件private GestureDetector detector; //手势检测器Animation leftIn, leftOut, rightIn, rightOut; //四种反应方式

 

导入包

importandroid.view.GestureDetector;import android.view.GestureDetector.OnGestureListener;

 

重写方法

@Overridepublic boolean onTouchEvent(MotionEvent event) {    return this.detector.onTouchEvent(event); //touch事件交给手势处理。}@Overridepublic boolean onDown(MotionEvent e) {    // TODO Auto-generated method stub    return false;}@Overridepublic boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,                       float velocityY) {    Log.i(TAG, "e1="+e1.getX()+" e2="+e2.getX()+" e1-e2="+(e1.getX()-e2.getX()));    if(e1.getX()-e2.getX()>120){        viewFlipper.setInAnimation(leftInAnimation);        viewFlipper.setOutAnimation(leftOutAnimation); //注意,和上面的setInAnimation不同        viewFlipper.showNext();//向右滑动        return true;    }else if(e1.getX()-e2.getY()<-120){        viewFlipper.setInAnimation(rightInAnimation);        viewFlipper.setOutAnimation(rightOutAnimation);        viewFlipper.showPrevious();//向左滑动        return true;    }    return false;}@Overridepublic void onLongPress(MotionEvent e) {    // TODO Auto-generated method stub}@Overridepublic boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,                        float distanceY) {    // TODO Auto-generated method stub    return false;}@Overridepublic void onShowPress(MotionEvent e) {    // TODO Auto-generated method stub}@Overridepublic boolean onSingleTapUp(MotionEvent e) {    // TODO Auto-generated method stub    return false;}
0 0
原创粉丝点击