在图像坐标上获取Click Listeners

时间:2017-06-16 10:46:16

标签: android imageview coordinates pixel

我有一个包含位置图像的Imageview。图像有一些可以点击的区域,例如。考虑医院,机场。点击它我想导航用户到下一个屏幕。问题是获得图像部分的单独点击监听器,我也有缩放图像的功能。任何人都可以指导我如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

试试这个: 如果您的图标有不同的颜色,它将最有效

ImageView imageView = (ImageView) findViewById(R.id.test_image);
        final Bitmap bitmap = ((BitmapDrawable)imageView.getDrawable()).getBitmap();
        imageView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                int x = (int)event.getX();
                int y = (int)event.getY();

现在像素将具有int格式的颜色代码,您可以根据该颜色代码确定单击了哪个图标

                    int pixel = bitmap.getPixel(x,y);
                    //if you want separate RGB value
                    int redValue = Color.red(pixel);
                    int blueValue = Color.blue(pixel);
                    int greenValue = Color.green(pixel);

                    return false;
                }
            });

希望这有帮助!!!

答案 1 :(得分:0)

创建与医院,机场等图像重叠的各种视图。 在这些视图上设置单击侦听器,以将用户重定向到所需的任何屏幕。

我认为这可能是解决问题的方法之一..