作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用这种方法来检测是否有人点击了叠加层。现在一切正常,除了点击区域太小。所以我查看了 api,它说“查看给定的命中点是否在项目标记的范围内。”。
我像这样把边界变大了:
Log.d("debug", "Marker propertie 1: " + marker.getBounds()); //output:Marker propertie 1: Rect(0, 0 - 0, 0)
Rect square = new Rect(0, 0, 200, 200);
marker.setBounds(square);
Log.d("debug", "Marker propertie 2: " + marker.getBounds()); //output:Marker propertie 2: Rect(0, 0 - 200, 200)
if (hitTest(item, marker, x-p.x, y-p.y)) {
//...
}
但是两种改变边界的方法都不会改变点击区域。有人可以提示我如何增加可绘制对象的点击区域吗?
最佳答案
这是 google maps api?如果您想扩展边界,您可以将扩展的 itemizedOverlay 的 hitTest 覆盖为类似这样的东西。
@Override
protected boolean hitTest(OverlayItem overlayItem, Drawable drawable, int x, int y) {
Rect bounds = drawable.getBounds();
int newLeft = (int) (200 * ((double)bounds.left / (double)bounds.width()) ) ;
int newTop = (int) (200 * ((double)bounds.top / (double)bounds.height()) );
Rect square = new Rect(newLeft, newTop, 200, 200);
return square.contains(x, y);
}
刚刚在我的 map 上测试过似乎有效。
关于android - 逐项叠加 HitTest ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5866588/
考虑以下示例: .links { margin: 0; padding: 0; border: 1px solid gray; } .links ul
我是一名优秀的程序员,十分优秀!