码迷,mamicode.com
首页 > 其他好文 > 详细

图片缩放

时间:2015-04-03 19:32:46      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:图片缩放

要实现图片的缩放,首先要判断是否有两个触摸点,

然后要获得两个触摸点的当前的距离,还有设置上一次两触摸点的距离。

如果当前距离减去上一次的距离大于5,图片则是放大,

如果上一次的距离减去当前距离大于5,图片则是缩小,

case MotionEvent.ACTION_MOVE:

//移动图片

/*FrameLayout.LayoutParams lp=(android.widget.FrameLayout.LayoutParams) v1.getLayoutParams();

lp.leftMargin=(int) e.getX();

lp.topMargin=(int) e.getY();

v1.setLayoutParams(lp);*/

//缩放图片

if(e.getPointerCount()>=2){//如果两个点的时候才求距离

float offsetx=e.getX(0)-e.getX(1);

float offsety=e.getY(0)-e.getY(1);

current=(float) Math.sqrt(offsetx*offsetx+offsety*offsety);

if(lastdistance<0){

lastdistance=current;

}else{

if(lastdistance-current>5){//缩小

FrameLayout.LayoutParams lp=(android.widget.FrameLayout.LayoutParams) v1.getLayoutParams();

lp.width=(int) (v1.getWidth()*0.9);

lp.height=(int) (v1.getHeight()*0.9);

v1.setLayoutParams(lp);

lastdistance=current;

}else if(current-lastdistance>5){//放大

FrameLayout.LayoutParams lp=(android.widget.FrameLayout.LayoutParams) v1.getLayoutParams();

lp.width=(int) (v1.getWidth()*1.1);

lp.height=(int) (v1.getHeight()*1.1);

v1.setLayoutParams(lp);

lastdistance=current;

}

}

}

break;


图片缩放

标签:图片缩放

原文地址:http://hatch.blog.51cto.com/9349645/1628083

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!