把文字和图片五个成一体,这样就不会出现点击效果了吧
朋友的缩放效果如下: 我现在图片的四个文字点击点如下: 现在我已经能实现朋友的那种缩放效果了,现在需要解决的是,当我的图片放大并移动到图片上四个文字位置后,会有点击事件出来,这个应该从何下手呢? 请教各位大佬 .. 我试过的方法是:在找到四个文字的中心点坐标及半径R,来画圆做事件响应区域,但是,图片的缩放效果就没有了。 一脸懵啊。。。
imageView的缩放是可以的,你想要什么效果?
先加事件,再来找区域? 为什么不做成,放大后动态添加事件,缩小到阈值后取消事件,区域都不用算了。何必那么麻烦
用画布做,然后计算缩放的比例,根据比例来获取相应的点即可。
我简单写下公式算法嘛 假设图片宽度 w,高度 h,按钮相对于图片坐标为 (a, b),view的宽度w2, 高度 h2 1.当是1倍时,且我们的图片左上角是(0,0)时,按钮对应在View中坐标就是(a,b),这个应该很好理解吧 2.当是1倍时,如果图片偏移量是(x,y),那么按钮对应在view中的坐标就是(a+x, b+y),这个应该也没问题吧 下面再推断 3.当是2倍时,且我们图片左上角是(0,0)时,按钮对应在View中的坐标是(2a,2b), 4.当是2倍时,且图片偏移量是(x,y),那么按钮对应View中的坐标是(2a+x,2b+y) 这时候应该比较清楚了,按钮坐标 = (缩放倍数 * a + 偏移量x, 缩放倍数 * b + 偏移量y) 最后计算出按钮中心坐标后,记得判断距离时也要乘以倍数。比如你的按钮1倍时判断距离时5,那么2倍时应该是10才能匹配点击范围
在缩放的情况下,你还需要根据缩放倍数和滚动偏移量来计算按钮中心点,同时判断到中心点的最大距离也需要同时根据倍数增加哦。
自定义做圆计算时不要拦截手势,应该由图片缩放来回调你的计算逻辑,不然你拦截了事件图片就得不到了
80,351
社区成员
91,288
社区内容
加载中
试试用AI创作助手写篇文章吧