2013-10-29 166 views
10

我在繪製路徑時遇到了Android Canvas的一些問題。 我的情況是,我有一個像地圖視圖的相對佈局工作(不使用谷歌API或類似的東西)。我必須爲這個觀點畫一條路。Android Canvas在路徑指向視圖時沒有繪製路徑

canvas.drawPath(polyPath, borderPaint); 

我還必須繪製其他類型的圓形,使用畫布的多邊形。 每次我們放大或縮小,我們重新計算路徑點以與縮放級別匹配。 當使用像android 2.3.3的舊API時,根本沒有問題。 但是對於像android 4.x這樣的更新的api,當我們放大時,有一些點的位置超出了可見視圖(例如-300,-300)。經過一段時間放大後,可見區域只顯示我路徑的一小部分。然後突然間,整條道路消失了。如果我們縮小,它會再次出現。它就像畫布停止渲染那些(其他對象仍然顯示爲圖標) 同樣的事情去圓,橢圓形或多邊形。

所以我不確定畫布如何畫出任何變化? 有什麼我失蹤關於使用畫布繪圖?

回答

14

加入這一行的看法

setLayerType(View.LAYER_TYPE_SOFTWARE, null); 

也初始化請參閱本指南支持的硬件級API

google API

Img A

Img B

+2

謝謝你許多!這正是我的問題的原因。在調用此方法之前,我添加了幾行代碼來檢查API版本。現在一切正常了。 – mameo

+1

你剛剛阻止我將我的頭穿過牆壁...... – Guardanis