我有 2 个相互重叠的 ImageView,都包含一个带有一些透明部分 (PNG) 的图像。 当我单击 imageView 的透明部分时,将为此 imageView 调用 eventListener。我只想在单击非透明部分时才调用监听器! 这样就可以“通过”imageView 单击并可能调用后面的 imageView 的监听器。
最佳答案
取imageview绑定(bind)view,设置drawing cache enable true ImageView :
ImageView imgView= (ImageView) findViewById(R.id.color_blue);
imgView.setDrawingCacheEnabled(true);
imgView.setOnTouchListener(changeColorListener);
Imageview的OnTouchListener:
private OnTouchListener changeColorListener = new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Bitmap bmp = Bitmap.createBitmap(v.getDrawingCache());
int color = bmp.getPixel((int) event.getX(), (int) event.getY());
if (color == Color.TRANSPARENT)
return false;
else {
//click portion without transparent color
return true;
}
}
};
关于android - 忽略点击 ImageView 的透明部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25383825/