无法获得OverlayItem Drawable的高度

时间:2010-03-19 10:20:57

标签: android

我在使用某个OverlayItem正在使用的drawable时遇到了一些麻烦,所以我可以计算它的高度并正确地偏移显示onTap的音符。这是我的代码,试图得到那个drawable:

Drawable marker = item.getMarker(android.R.attr.state_focused);
if (marker != null) int markerHeight = marker.getIntrinsicHeight();

标记最终为空。

我正在使用带有选择器的可绘制XML文件,用于OverlayItem的drawable的不同状态。在其中我指定了null状态的drawable,state_focused和state_pressed。

感谢您的帮助!

-Nick

1 个答案:

答案 0 :(得分:2)

根据关于getMarker的documentation

  

返回应该使用的标记   在地图上绘制此项目时。一个   null值表示默认值   应绘制标记。

因此,您需要做的就是预先计算默认标记的高度,将其存储在某处并在返回null时返回。

我也发现这个discussion关于OverlayItem和ItemizedOverlay很有用。