Android动态布局
我正在开发一个口琴演奏android应用程序,其中显示一个口琴乐器,其中的一些部分可以点击 我想显示仪器的全宽图片(高度相应调整),其中一些部分可以单击,并且必须根据图片大小动态定位 问题是我不知道如何使用布局元素来实现这一点,所以它可以在不同屏幕大小的设备上渲染。使用什么布局 将仪器显示为布局的图像视图或背景,以及如何使其适合 是否有相对于图片宽度和高度的按钮?还是必须以编程方式完成?而且,它们的宽度和高度必须随着孔洞的变大或变小而变化 我没有太多的android布局经验,我完全被困在如何做到这一点 这是仪器的示例图片: 我想让孔点击,虽然图片大小在不同的设备变化Android动态布局,android,Android,我正在开发一个口琴演奏android应用程序,其中显示一个口琴乐器,其中的一些部分可以点击 我想显示仪器的全宽图片(高度相应调整),其中一些部分可以单击,并且必须根据图片大小动态定位 问题是我不知道如何使用布局元素来实现这一点,所以它可以在不同屏幕大小的设备上渲染。使用什么布局 将仪器显示为布局的图像视图或背景,以及如何使其适合 是否有相对于图片宽度和高度的按钮?还是必须以编程方式完成?而且,它们的宽度和高度必须随着孔洞的变大或变小而变化 我没有太多的android布局经验,我完全被困在如何做到
任何建议都会对我有很大帮助。图像视图有一个内部的
矩阵
,控制图像的缩放方式
我们可以得到这个矩阵并将其反转,这样我们就可以将缩放图像上的接触转换为原始图像中的坐标
float[] xy = new float[]{x, y}; // the xy from the touch event
Matrix inverse = new Matrix();
imageView.getImageMatrix().inverse(inverse);
inverse.mapPoints(xy); // xy now contains the coordinates of the click in the original image
现在,您需要做的就是将
xy
与每个音符的位置的一些保存值进行匹配。请您进一步解释,我什么也没有得到:)我猜他是想用这段代码平移图像,使之成为一个触碰事件,并从itI中获取x和y。我尝试了这个,当我旋转手机并触摸图像上的同一个位置时,它给出了不同的坐标。它似乎只适用于使用矩阵本身变换的图像,而不适用于系统变换的图像。