温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

图片缩放

发布时间:2020-07-03 15:01:23 来源:网络 阅读:318 作者:jiangguocui 栏目:开发技术

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

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

如果当前距离减去上一次的距离大于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;


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI