我有一个图像,其中有部分,我想让每个部分都可以点击

时间:2012-02-29 07:33:37

标签: android image

我想点击的图片如下:

enter image description here

2 个答案:

答案 0 :(得分:1)

您可以在Photoshop / Fireworks等中切片图像。然后使用多个ImageView将其显示回来。使用RelativeLayout,可以正确对齐它们。

如果没有,你需要有一个onTouch事件,然后通过获取坐标等计算屏幕的哪个部分被触摸。

IMO第一个选项更容易。

答案 1 :(得分:1)

首先复制要用作图像映射的图像并为每个部分着色。不用说,每个部分的颜色不同:D。然后在布局中创建两个ImageView。将第一个的背景设置为要显示到屏幕的图像,将第二个的背景设置为彩色的一个。

然后将第二个ImageView的可见性设置为不可见。如果此时运行程序,您应该看到要显示的图像。然后使用OnTouch侦听器并获取您触摸的像素的颜色。颜色将对应于彩色图像的颜色。

以下getColour方法需要传递touch事件的x和y坐标。 R.id.img2是不可见的图像。

private int getColour( int x, int y)
{
    ImageView img = (ImageView) findViewById(R.id.img2);  
    img.setDrawingCacheEnabled(true);   
    Bitmap hotspots=Bitmap.createBitmap(img.getDrawingCache());   
    img.setDrawingCacheEnabled(false);  
    return hotspots.getPixel(x, y);  
}