具有透明背景的可点击图像图层

时间:2015-04-14 03:21:19

标签: android android-layout

我有两张透明背景图片。 我将两者都添加到布局视图中。

我需要为每个图像分配一个onClickListener。

问题是只有最顶层的图像才会触发点击事件(就像最顶层的图像覆盖其余图像并且不关心其透明背景)。两张图片都是带透明背景的.png

以下是代码:



    ImageView img1, img2;

    RelativeLayout l = (RelativeLayout)findViewById(R.id.layout1);

    bm1 = BitmapFactory.decodeResource(getResources(), R.drawable.image1);
    bm2 = BitmapFactory.decodeResource(getResources(), R.drawable.image2);

    img1 = new ImageView(this);
    img1.setImageBitmap(bm1);
    l.addView(img1);

    img2 = new ImageView(this);
    img2.setImageBitmap(bm2);
    l.addView(img1);

    img1.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v)
        {
            //code to process when img1 is clicked
        }
    });

    img2.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v)
        {
            //code to process when img2 is clicked
        }
    });


在此示例中,只有img2触发事件。 我需要img2和img1都能解雇他们的事件。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果一个图像的透明背景覆盖了第二个,那么第一个图像的响应将被点击,因为透明背景被计为图像的一部分。

也许最简单的答案是进行一些照片编辑以删除一些透明背景。稍微裁剪图像。