可点击的图像区域

Out*_*sus 26 android imagemap onclicklistener

我正在设计一个GUI远程控制,但我没有为每个远程按钮制作单独的按钮,而是希望获得一个完整的就绪远程图像并设置它的某些部分可点击.有没有办法而不是动作事件呢?

Meh*_*sar 35

我有2个解决方案可满足您的要求.两者都可以,整个图像保持可点击状态,但您可以获得有关点击区域的信息.

解决方案1:

你可以屏蔽图像并获得图像下方的像素颜色.最后你可以知道哪个区域被点击了.

在这里,每当发生单击时,您可以检查像素颜色background image并将其与预定义颜色集匹配,以了解已单击的区域.

前景图片: 前景图像

背景图片: 背景图片

可点击区域: 代表可点击区域

仍然困惑?

参考: 我建议您阅读本教程.

解决方案2:

您可以使用坐标映射图像,因此您可以获得已单击区域的信息.

示例: 带坐标的MappedImage

如果你不了解坐标,你可以从这里创建你的mappedimage

堪萨斯州的坐标看起来像这样,

        <area shape="poly" coords="243,162,318,162,325,172,325,196,244,196" id="@+id/area14" name = "Kansas"/>
Run Code Online (Sandbox Code Playgroud)

带坐标的MappedImage

参考: 请查看Android Image Mapping.

我希望它会有所帮助!!


sea*_*alz 8

你仍然可以使用按钮.

您可以将它们放在正确位置的图像上,并使它们不可见.

在XML中

<Button android:visibility="invisible"/>
Run Code Online (Sandbox Code Playgroud)

要么

Button mybutton = (Button) v1;
mybutton.setVisibility(View.INVISIBLE);
Run Code Online (Sandbox Code Playgroud)