ViewFlipper flipper;
private GestureDetector gestureDetector = null; 手势
1 2 3 4 5 6 7 8 9 10 11 12 < 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:id = "@+id/vf" android:layout_width = "fill_parent" android:layout_height = "wrap_content" /> </ LinearLayout >1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 package com.sanya.viewflipper; import android.app.Activity; import android.os.Bundle; import android.view.GestureDetector; import android.view.GestureDetector.OnGestureListener; import android.view.MotionEvent; import android.view.ViewGroup.LayoutParams; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.ImageView; import android.widget.ImageView.ScaleType; import android.widget.ViewFlipper; public class MainActivity extends Activity implements OnGestureListener { ViewFlipper flipper; private GestureDetector gestureDetector = null ; @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); int img[] = { R.drawable.guide1, R.drawable.guide2, R.drawable.guide3, R.drawable.guide5, R.drawable.splash }; flipper = (ViewFlipper) findViewById(R.id.vf); gestureDetector = new GestureDetector( this ); // 声明检测手势事件 for ( int i = 0 ; i < img.length; i++) { ImageView view = new ImageView(getApplicationContext()); view.setImageResource(img[i]); view.setScaleType(ScaleType.FIT_XY); // 设置图片的缩放大小 flipper.addView(view, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); } flipper.setAutoStart( true ); flipper.setFlipInterval( 2000 ); // 如果手势不滑动 则自动播放 if (flipper.isAutoStart() && !flipper.isFlipping()) { flipper.startFlipping(); } } // 手指接触事件 @Override public boolean onTouchEvent(MotionEvent event) { flipper.setAutoStart( false ); flipper.stopFlipping(); return gestureDetector.onTouchEvent(event); // 返回手指滑动事件 } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { if (e2.getX() - e1.getX() > 120 ) { Animation inAnimation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.right_in); Animation outAnimation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.right_out); flipper.setInAnimation(inAnimation); flipper.setOutAnimation(outAnimation); flipper.showPrevious(); } else if (e2.getX() - e1.getX() < - 120 ) { Animation inAnimation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.left_in); Animation outAnimation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.left_out); flipper.setInAnimation(inAnimation); flipper.setOutAnimation(outAnimation); flipper.showNext(); } return true ; } @Override public boolean onDown(MotionEvent e) { return false ; } @Override public void onShowPress(MotionEvent e) { } @Override public boolean onSingleTapUp(MotionEvent e) { return false ; } @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { return false ; } @Override public void onLongPress(MotionEvent e) { } } 1 2 3 4 5 6 7 8 9 10 11 12 <? xml version = "1.0" encoding = "utf-8" ?> < set xmlns:android = "http://schemas.android.com/apk/res/android" > < translate android:duration = "500" android:fromXDelta = "100%p" android:toXDelta = "0" /> < alpha android:duration = "500" android:fromAlpha = "0.1" android:toAlpha = "1.0" /> </ set > 1 2 3 4 5 6 7 8 9 10 11 12 <? xml version = "1.0" encoding = "utf-8" ?> < set xmlns:android = "http://schemas.android.com/apk/res/android" > < translate android:duration = "500" android:fromXDelta = "0" android:toXDelta = "-100%p" /> < alpha android:duration = "500" android:fromAlpha = "1.0" android:toAlpha = "0.1" /> </ set > 1 2 3 4 5 6 7 8 9 10 11 12 <? xml version = "1.0" encoding = "utf-8" ?> < set xmlns:android = "http://schemas.android.com/apk/res/android" > < translate android:duration = "500" android:fromXDelta = "-100%p" android:toXDelta = "0" /> < alpha android:duration = "500" android:fromAlpha = "0.1" android:toAlpha = "1.0" /> </ set > 1 2 3 4 5 6 7 8 9 10 11 12 <? xml version = "1.0" encoding = "utf-8" ?> < set xmlns:android = "http://schemas.android.com/apk/res/android" > < translate android:duration = "500" android:fromXDelta = "0" android:toXDelta = "100%p" /> < alpha android:duration = "500" android:fromAlpha = "1.0" android:toAlpha = "0.1" /> </ set >
来自为知笔记(Wiz)
转载于:https://www.cnblogs.com/feelbest/p/3696189.html
相关资源:数据结构—成绩单生成器