Path定義爲全局變量引起的一些問題

問題描述:在學習http://www.jianshu.com/p/2c19abde958c這個博客的時候,運行其中一個代碼片段,發現結果和帖子上描述的不同(注意我把Path定義成全局變量,因爲系統提示的)。代碼片段如下:

      path.lineTo(50, 200);
      path.arcTo(new RectF(200, 200, 300, 300), 0, 180);
      canvas.drawPath(path, mPaint);

然後和朋友一起研究後發現,onDraw()繪製了兩次,在繪製第二次的時候攜帶了之前的Path信息導致的結果不同,只需要每次繪製之前或之後把Path的信息清空就可以了。後來通過查找ApiDemos發現正確寫法是每次調用Path之前調用下Path.reset()就可以了。當然如果Path只繪製一條路徑就不需要這樣了。

另外多方測試發現只是部分手機有這個問題...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章