android图片特定位置点击 35
怎样在android中点击该图片的特定位置如9号蓝色区域,系统能够识别并跳转到所在的楼层。就是一整张图片,上面都是不规则图形,然后要应用到多个平台,如手机、平板。...
怎样在android中点击该图片的特定位置如9号蓝色区域,系统能够识别并跳转到所在的楼层。
就是一整张图片,上面都是不规则图形,然后要应用到多个平台,如手机、平板。 展开
就是一整张图片,上面都是不规则图形,然后要应用到多个平台,如手机、平板。 展开
6个回答
展开全部
如果你显示的这张图片是一个单独的activity那就比较好办了,你把图片设置为整个activity的背景图片通过布局去一块一块的分割,把需要响应事件的区域设置监听,这也是一个很笨的方法,就看合适不合适你的现状了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自定义一个View ,把图片抠出来,然后创建和位图一样位置的Rect ,然后去比较点击的是不是在这个区域就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的图形都不是规则的,最好的方法是把图片都抠出来,每个点击区域一张图片。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
// 获取触摸点的坐标 x, y
float x = e.getX();
float y = e.getY();
// 目标点的坐标
float dst[] = new float[2];
// 获取到ImageView的matrix
Matrix imageMatrix = imageView.getImageMatrix();
// 创建一个逆矩阵
Matrix inverseMatrix = new Matrix();
// 求逆,逆矩阵被赋值
imageMatrix.invert(inverseMatrix);
// 通过逆矩阵映射得到目标点 dst 的值
inverseMatrix.mapPoints(dst, new float[]{x, y});
float dstX = dst[0];
float dstY = dsy[1];
// 判断dstX, dstY在Bitmap上的位置即可
int dstX = (int) dst[0];
int dstY = (int) dst[1];
Log.i("OnTouchListener", "dstX:" + dstX + "+++ dstY" + dstY);
————————————————
版权声明:本文为CSDN博主「薛天佑」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xue_tianyou/article/details/84561570
float x = e.getX();
float y = e.getY();
// 目标点的坐标
float dst[] = new float[2];
// 获取到ImageView的matrix
Matrix imageMatrix = imageView.getImageMatrix();
// 创建一个逆矩阵
Matrix inverseMatrix = new Matrix();
// 求逆,逆矩阵被赋值
imageMatrix.invert(inverseMatrix);
// 通过逆矩阵映射得到目标点 dst 的值
inverseMatrix.mapPoints(dst, new float[]{x, y});
float dstX = dst[0];
float dstY = dsy[1];
// 判断dstX, dstY在Bitmap上的位置即可
int dstX = (int) dst[0];
int dstY = (int) dst[1];
Log.i("OnTouchListener", "dstX:" + dstX + "+++ dstY" + dstY);
————————————————
版权声明:本文为CSDN博主「薛天佑」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xue_tianyou/article/details/84561570
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请问你找到解决办法了吗?我也想要实现这种功能,谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询