我想点击的图片如下:
答案 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);
}