0

我正在使用三角形按钮(PNG 图像),我只需要在图像可见区域上点击即可。正如您在下面我的三角形按钮的图像中看到的那样,在图像中,我只需要在图像可见部分(即黑色和红色)上使其可点击,绿色区域将保持透明且不可点击。请在这方面帮助我,我会非常感谢你。提前致谢。

在此处输入图像描述

4

3 回答 3

1

识别Android中点击的图像区域?检查这个问题

或者如果绿色是透明的,我认为检测图像的“可见”内容是否被点击的最简单方法是连接 OnTouchListener,获取触摸坐标,然后使用 Bitmap.getPixel(int x,整数 y)。由于这将返回 ARBG 颜色,因此使用 alpha 通道的图像应该没有什么问题。任何“透明”(如果绿色将是透明的?)都将无效,其他所有内容都意味着实际内容已被点击。

像这样的启动:

int color = Bitmap.getPixel(x,y); // x and y are the location of the touch event in Bitmap space
int alpha = Color.getAlpha(color);
boolean isTransparent = (alpha==0);
于 2013-03-20T11:22:08.680 回答
0

你可以参考这个链接:

图像映射

或者你也可以参考这个类似的问题:

关联

但是,我不建议您这样做,因为您必须手动计算坐标,并且除了那个 android 屏幕有不同的尺寸之外,它可能会给您带来问题。

于 2013-03-20T11:24:11.697 回答
0

您可以将OnTouchListener设置为您的View并检查是否在三角形内部单击(OnTouch 事件发送 MotionEvent对象,您可以从中获取触摸事件的坐标)。

可能会更好,如果按钮可以点击为矩形?就像这里一样,在 stackoverflow 上,投票按钮也有三角形形式,但它们在矩形形状上是可点击的。

于 2013-03-20T11:24:40.497 回答