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"


發佈了48 篇原創文章 · 獲贊 95 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章