我正在使用Google Maps API MapView,MapController,MapActivity和ItemizedOverlay的Android應用程序。我基本上試圖重新創建地圖應用程序的某些功能(該死的谷歌不提供語音氣泡 - 因爲缺少更好的名稱),尤其是那些語音氣泡。試圖計算地圖疊加層的寬度
我在包含我的MapView的XML佈局文件中有一個語音氣泡的不可見XML結構。當我第一次展示語音氣泡時,我抓住該XML並將其從當前父節點中移除,然後將一些ItemizedOverlay.LayoutParams應用於該節點,然後將其作爲疊加層添加到MapView中。我將它放在選定的項目上方,用適當的文本填充它,然後將其設置爲可見。
這一切都很好。不過,這裏的目標也是自動地圖動畫,以揭示講話泡泡的任何部分,當它打開時它可能在屏幕外。所以我試圖完成對氣泡的所有操作之後,即使在將其顯示給用戶之後,popup.getWidth()(popup是我的LinearLayout的實例,它是氣泡)。問題是,popup.getWidth()返回先前顯示的彈出窗口的寬度,而不是當前顯示的窗口的寬度。我無法弄清楚爲什麼會發生這種情況,如果我在之後獲取寬度我將其設置爲可見並具有其新維度(順便說一句,當我使用LayoutParams設置它們時,它們是相對的:fill_content for寬度和高度)..我甚至嘗試強制MapView和「彈出」無效()之前試圖獲取寬度。
任何想法,爲什麼會發生這種情況?在試圖獲取它們之前,我如何強制視圖進入新的層面?
謝謝! 尼克
你可以幫我添加泡沫部分嗎?我試圖找出如何去做,但我無法做到。 – 2010-08-23 09:53:07