2010-03-19 74 views
2

我在使用某些OverlayItem時會遇到一些問題,所以我可以計算它的高度並正確地抵消顯示onTap的音符。這裏是我的代碼,試圖獲得可繪製:OverlayItem可繪製高度的問題

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

標記結束爲空。

我用OverlayItem的drawable的不同狀態的選擇器使用可繪製的XML文件。在它中,我爲null狀態,state_focused和state_pressed指定了一個drawable。

感謝您的幫助!

-Nick

+0

我不明白「marker ends up null」。加載/解析drawable還是獲取高度有問題? – skyman 2010-03-19 22:42:22

+0

是的,似乎有一個問題得到處理的drawable。 drawable加載到屏幕右側,但試圖以編程方式抓住它然後計算其高度不起作用。在上面的代碼中,if(marker!= null)部分永遠不會運行,所以item.getMarker()必須返回null。對不起,首先不太清楚。 – bloudermilk 2010-03-20 01:17:09

回答

2

按照documentation約getMarker:

返回應該在地圖上繪製這個項目時可以使用 標記。 A 空值表示應繪製默認的 標記。

因此,您只需預先計算默認標記的高度,將其存儲在某處並在返回null的情況下將其返回。

我也發現這個discussion關於OverlayItem和ItemizedOverlay有用。

+0

單詞。感謝那! – bloudermilk 2010-04-12 05:07:42