java相对坐标_Android中ImageView的相对坐标

我在FrameLayout中包含的ImageView中有一个正方形图像,它是右对齐的(横向布局) . FrameLayout设置为FillParent宽度和高度,ImageView设置为Adjust View Bounds,以便生成的ImageView是一个完美的正方形,每边是横向布局高度的长度,右对齐 . 但是,原始图像比这大 . 我需要在ImageView上找到与自身相关的坐标(即ImageView的左上角是0,0,右下角是显示的宽度和高度坐标),这样我就可以解决了问题 . 点击的点超过了ImageView的中点 . 我最初使用以下方法获取ImageView的大小:

int myImageViewWidth = imageView.getWidth();

int myImageViewHeight = imageView.getHeight();

我已经创建了一个OnTouchListener,在这里我使用了event.getX()和event.getY(),但这似乎返回了相对于图像的原始大小的坐标,而不是显示的大小 . 我也尝试了以下内容:

Matrix m = imageView.getImageMatrix();

float[] values = new float[9];

m.getValues(values);

float relativeX = (event.getX() - values[2]) / values[0];

float relativeY = (event.getY() - values[5]) / values[4];

但是这似乎又回到了不准确的坐标 . 有人可以帮忙吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值