js实现左右滑动效果Android实现左右滑动效果

Android实现左右滑动效果,利用Adroid的ViewFlaer和OGetureLiteer实现图片的左右滑动功能,其中当图片播放到最后一张时,会切换到第一张图片,效果图如下:
利用Android的ViewFlapper和OnGestureListener实现图片的左右滑动功能,其中当图片播放到最后一张时,会切换到第一张图片,效果图如下:步骤阅读步骤阅读步骤阅读步骤阅读步骤阅读步骤阅读工具/原料ViewFlipper类和OnGestureListener接口animation动画效果translate和alpha方法/步骤1设置布局文件,其中使用到ViewFlipper控件,内容如下:                    2从左边进入的动画文件,其内容如下:        3从左边退出的动画文件,其内容如下:    4从右边进入的动画文件,其内容如下:    5从右边退出的动画文件,其内容如下:    6加载布局文件和动画文件的类,其源码内容为:/** *  */packagecom.i114gbox.aglieguy;importandroid.content.Context;importandroid.os.Bundle;importandroid.view.GestureDetector;importandroid.view.GestureDetector.OnGestureListener;importandroid.view.MotionEvent;importandroid.view.View;importandroid.view.View.OnClickListener;importandroid.view.animation.AnimationUtils;importandroid.widget.Button;importandroid.widget.ImageView;importandroid.widget.ViewFlipper;importcom.i114gbox.sdk.activity.I114gBoxActivity;importcom.i114gbox.sdk.utils.I114gBoxCollectActivityUtils;importcom.i114gbox.sdk.utils.I114gBoxLogUtils;importcom.i114gbox.sdk.utils.I114gBoxResourceUtils;/** *图片滑动Activity *  *@authorSJC *  */publicclassImageFlipperActivityextendsI114gBoxActivityimplements OnGestureListener{ privatestaticStringTAG=\"ImageFlipperActivity\"; privateContextctx=null; privateGestureDetectorgestureDetector;//手势监听 privateViewFlipperviewFlipper;//视图轮播 @Override protectedvoidonCreate(BundlesavedInstanceState){ I114gBoxLogUtils.d(TAG,\"TheonCreatemethodexecute.\"); super.onCreate(savedInstanceState); I114gBoxCollectActivityUtils.getInstance().addActivity(this);//收集Activity ctx=this; setContentView(I114gBoxResourceUtils.getLayoutId(ctx, \"activity_image_flipper\")); gestureDetector=newGestureDetector(this); viewFlipper=(ViewFlipper)findViewById(I114gBoxResourceUtils.getId( ctx,\"vf_image_flipper\")); viewFlipper.addView(addImageView(I114gBoxResourceUtils.getDrawableId( ctx,\"flipper_01\"))); viewFlipper.addView(addImageView(I114gBoxResourceUtils.getDrawableId( ctx,\"flipper_02\"))); viewFlipper.addView(addImageView(I114gBoxResourceUtils.getDrawableId( ctx,\"flipper_03\"))); viewFlipper.addView(addImageView(I114gBoxResourceUtils.getDrawableId( ctx,\"flipper_04\"))); viewFlipper.addView(addImageView(I114gBoxResourceUtils.getDrawableId( ctx,\"flipper_05\"))); viewFlipper.addView(addImageView(I114gBoxResourceUtils.getDrawableId( ctx,\"flipper_06\"))); //viewFlipper.addView(addImageView(R.drawable.one)); //viewFlipper.addView(addImageView(R.drawable.two)); //viewFlipper.addView(addImageView(R.drawable.three)); //viewFlipper.addView(addImageView(R.drawable.four)); //viewFlipper.addView(addImageView(R.drawable.five)); ButtonbackButton=(Button)findViewById(I114gBoxResourceUtils.getId( ctx,\"btn_image_flipper_back\")); backButton.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ finish(); } }); } /**添加ImageView控件**/ privateViewaddImageView(intid){ ImageViewimageView=newImageView(this); imageView.setImageResource(id); returnimageView; } @Override publicbooleanonTouchEvent(MotionEventevent){ I114gBoxLogUtils.d(TAG,\"TheonTouchEventmethodexecute.\"); returngestureDetector.onTouchEvent(event); } @Override publicbooleanonDown(MotionEvente){ I114gBoxLogUtils.d(TAG,\"TheonDownmethodexecute.\"); returnfalse; } @Override publicbooleanonFling(MotionEvente1,MotionEvente2,floatvelocityX, floatvelocityY){ I114gBoxLogUtils.d(TAG,\"TheonFlingmethodexecute.\"); I114gBoxLogUtils.i(TAG,\"e1.x:\"+e1.getX()+\"|\"+\"e2.x:\"+e2.getX() +\"|\"+\"velocityX:\"+velocityX+\"|\"+\"velocityY:\" +velocityY); if(e1.getX()-e2.getX()>120){ this.viewFlipper.setInAnimation(AnimationUtils.loadAnimation(ctx, R.anim.push_left_in));//进入屏幕的动画 this.viewFlipper.setOutAnimation(AnimationUtils.loadAnimation(ctx, R.anim.push_left_out));//离开屏幕的动画 this.viewFlipper.showNext();//手动显示下一个视图 returntrue; }elseif(e1.getX()-e2.getX()onDown()->onTouchEvent()->onScroll()->onTouchEvent()->onScroll()->onFling()

本文来自投稿,不代表长河网立场,转载请注明出处: http://www.changhe99.com/a/5odY57od74.html

(0)

相关推荐