我有一個繪圖庫,並與它我有一個自定義的視圖。當需要完成任何更新時,庫調用視圖的invalidate()
方法。然後調用onDraw()
方法,並且一切正常。View.invalidate()似乎沒有調用View.onDraw()
但是,當我將usesSdkVersion="14"
的屬性添加到我的AndroidManifest.xml file
時,此功能停止工作。不再是我的觀點的onDraw()
方法被調用了。
更多信息: 看來,當我通過我的應用程序中按鈕按鈕的結果呼叫invalidate()
時,View按預期更新。此外,我的圖書館內有一個動畫正在正常工作。所以顯然有時它工作正常。但大多數情況下,它不會重新繪製。是否有任何狀態,自定義視圖可以在這將導致操作系統跳過invalidate()
被調用後重畫它?
你還在從UI線程調用它嗎?否則你必須使用postInvalidate()。 – Heinrisch 2012-04-13 21:56:41
我試圖更改invalidate postInvalidate只是爲了檢查,並且問題依然存在。 – Rickster 2012-04-13 22:19:11
開啓或關閉硬件加速功能? – 2012-04-13 22:46:55