博客园的文章,搬家就搬过来了。
android ImageButton默认响应区域是矩形,而有时候界面的需要会使用不规则图片,比如扇形,要响应有图片的地方,没图片的地方不响应,今天想了下,实现了,关键代码如下:
imgbt=(ImageButton)findViewById(R.id.imgbt01);
bitmap=((BitmapDrawable)(imgbt.getDrawable())).getBitmap();//得到ImageButton的图片
imgbt.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if(bitmap.getPixel((int)(event.getX()),((int)event.getY()))==0){//判断点击处像素的颜色是否为0,0表示没 //内容
System.out.println("点击区没图像 "+
bitmap.getPixel((int)(event.getX()),((int)event.getY())));
}else{
System.out.println("点击区有图像 "+
bitmap.getPixel((int)(event.getX()),((int)event.getY())));
}
return false;
}
});