Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android动态布局_Android - Fatal编程技术网

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。我尝试了这个,当我旋转手机并触摸图像上的同一个位置时,它给出了不同的坐标。它似乎只适用于使用矩阵本身变换的图像,而不适用于系统变换的图像。