用ImageSwitcher实现图片的动画切换

实现图片的从左到右或者从右到左的出场入场动画,看代码:

private ImageSwitcher mShowPicArea = null;
......
mShowPicArea.setOnTouchListener(new View.OnTouchListener() {
			private float downX;
			@Override
			public boolean onTouch(View v, MotionEvent event) {
				switch(event.getAction()) {
				case MotionEvent.ACTION_DOWN:
					downX = event.getX();
					break;
				case MotionEvent.ACTION_UP:
					int totalCount = getPictureCount();
					if(event.getX()+60 < downX && selectPosition < totalCount-1) {
						// to next image, the distance of gesture should be longer than 100 
						int selection = selectPosition+1;
						updateSelectedImage(selection, TO_RIGHT);
					} 
					else if(event.getX()-60 > downX && selectPosition > 0){
						// to previous image
						int selection = selectPosition - 1;
						updateSelectedImage(selection, TO_LEFT);
					}
					break;
				}
				return true;
			}
			
			private void updateSelectedImage(int selection, boolean toRight) {
				if(toRight) {
					mShowPicArea.setInAnimation(AnimationUtils.loadAnimation(PictureSlideActivity.this,
							android.R.anim.slide_in_left));
					mShowPicArea.setOutAnimation(AnimationUtils.loadAnimation(PictureSlideActivity.this,
							android.R.anim.slide_out_right));
				} else {
					mShowPicArea.setInAnimation(AnimationUtils.loadAnimation(PictureSlideActivity.this,
							R.anim.slide_in_right));
					mShowPicArea.setOutAnimation(AnimationUtils.loadAnimation(PictureSlideActivity.this,
							R.anim.slide_out_left));
				}
				showImage(selection);
				selectPosition = selection;
				mPictureSlide.setSelection(selectPosition);
				updateGallerySelection(selectPosition);
				
			}
		});
 实现一个OnTouchListener,实现onTouch方法,捕获滑动的操作,当滑动超过60dip后触发图片切换动作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值