Android 如何创建不规则形状的图像按钮,其中图像的透明部分不可单击?
我有一个不规则形状的PNG图像,例如一个圆角透明的圆形图像 如何创建此图像的imagebutton,而不让角落可触摸Android 如何创建不规则形状的图像按钮,其中图像的透明部分不可单击?,android,touch,transparent,imagebutton,clickable,Android,Touch,Transparent,Imagebutton,Clickable,我有一个不规则形状的PNG图像,例如一个圆角透明的圆形图像 如何创建此图像的imagebutton,而不让角落可触摸 如果可能的话,我可能想创建其他不规则形状的图像按钮。查看第二个答案,我相信它正是您所需要的 稍后编辑: 快速总结: 使用TouchListener而不是ClickListener 在侦听器内部,如果事件是MotionEvent.ACTION\u DOWN,则获取触摸坐标 在先前获得的坐标处检查图像的像素;如果像素不透明,则考虑单击按钮,否则忽略事件。 通过更改“热区”或“可点击区
如果可能的话,我可能想创建其他不规则形状的图像按钮。查看第二个答案,我相信它正是您所需要的 稍后编辑: 快速总结:
TouchListener
而不是ClickListener
MotionEvent.ACTION\u DOWN
,则获取触摸坐标通过更改“热区”或“可点击区域”方法?让我试试看。谢谢,伙计。请详细说明一下。“不能让它工作”可能意味着什么。我给你指出的答案似乎很简单。对不起,Android还是个新手,我不确定如何在我的代码中使用这段代码。目前,我有一个ImageButton正在侦听OnClick事件。onTouch或MotionEvent是如何填充的?是的,我能够得到触摸的坐标。如何检查坐标是否属于哪个图像?如何使用像素检查透明度?getPixels()方法用于位图。也许我需要使用位图绘制按钮?使用
Bitmap Bitmap=BitmapFactory.decodeResource(getResources(),R.drawable.YOUR_IMAGE_ID)获取位图代码>。现在有了位图对象,可以使用getPixel
检查透明度。