我有两张透明背景图片。 我将两者都添加到布局视图中。
我需要为每个图像分配一个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都能解雇他们的事件。
提前感谢您的帮助。
答案 0 :(得分:0)
如果一个图像的透明背景覆盖了第二个,那么第一个图像的响应将被点击,因为透明背景被计为图像的一部分。
也许最简单的答案是进行一些照片编辑以删除一些透明背景。稍微裁剪图像。