首页 > 代码库 > ScrollView下拉视图放大

ScrollView下拉视图放大

在网上找了好多下拉Scrollview图片放大的效果,结果看了一下都不太靠谱,后来自己想了一个办法解决了这个问题。跟大家分享一下。

其实就是对Scrollview下拉的监听将视图放大。不管是View还是ImageView放大就ok了。主要代码如下:


	/** 手指放下的监听*/
	float initTouchY=0;


		mScrollView.setOnTouchListener(new OnTouchListener() {
			public boolean onTouch(View v, MotionEvent event) {
				switch (event.getAction()) {
				//放下监听
				 case MotionEvent.ACTION_DOWN:  
		            	 initTouchY=event.getY();
		                break; 
		              //手指抬起监听
				case MotionEvent.ACTION_UP:
					mSlidingPlayView.setLayoutParams(new RelativeLayout.LayoutParams(diaplayWidth,AbViewUtil.dip2px(DetailA.this, imagHeight)));

					break;
				//移动监听
				case MotionEvent.ACTION_MOVE:
					int upY=v.getScrollY();
					float touchY=event.getY();
			<span style="white-space:pre">	</span>//对图片放大的处理
	                          if(upY==0){  //scrollview在顶部
	                	        float deltaY = touchY - initTouchY;// 滑动距离
	                	   if(deltaY<80){
	                		//重新设置控件的大小addWidth=diaplayWidth+deltaY <span style="font-family: Arial, Helvetica, sans-serif;">addHeight同理  </span><pre name="code" class="java"><span style="white-space:pre">					</span>//mSlidingPlayView我这里是幻灯播放的控件,一般可以 设置成ImageView

mSlidingPlayView.setLayoutParams(new RelativeLayout.LayoutParams(addWidth,addHeight)); } } }break;default:break;}return false;}});

最后一定要记得给ImageView添加一个属性,才能实现下拉图片放大的效果

android:scaleType="centerCrop"