2013-01-04 58 views
0

我正在通過一個使用ItemizedOverlay的例子。拉伸方法被過度深重如下:Android中的ItemizedOverlay類

public void draw(Canvas canvas, MapView mapView, boolean shadow) { 
    shadow = false; 
    super.draw(canvas, mapView, shadow); 
} 

在該示例中,一個呼叫正在取得來填充(),後者又調用大小()和createItem(int i)以。

但我的問題是,誰調用上述繪製方法,它是如何調用的?特別是,調用者如何知道哪個MapView對象作爲參數傳遞?

回答

0

誰調用了上述的繪製方法,它是怎麼調用的?

invalidate()方法力量視圖中繪製這是在視圖類中實現的,無效是由您​​或每當你需要提醒你查看系統調用。

當您創建一個擴展覆蓋的私有內部類時,它會用幾個參數覆蓋draw method

  • 第一個參數是一個句柄畫布的一個實例,我們將使用 上引起我們的標誌。

  • 第二個是顯示此疊加層的MapView實例。

  • 第三個參數是一個布爾值,表示我們是繪製實際圖像還是陰影。

實際上,這種方法被稱爲兩次。一次畫出陰影,一次畫出你想繪製的實物。

下面是幾個,幫助您

How Android Draws Views

Drawing multiple location markers on a MapView

Class Overlay

鏈接
相關問題