2010-07-07 64 views
0

我正在嘗試移動一個自定義組件內的圓圈,並且它僅在單擊自定義組件之外的按鈕時纔會移動。 我觸摸並拖動圓圈,它什麼都不做,但是一旦我點擊按鈕(與自定義組件無關),它就會更新(繪製)到我停止觸摸的位置... 應該我會在自定義組件上調用一些繪製更新的東西? 我已覆蓋onTouchEvent,其中包括onDraw。 onTouch檢查DOWN,MOVE(更新圓圈位置)和UP只更新正在被拖拽的布爾值。 onDraw在MOVE事件上捕獲的位置繪製一個圓圈。 我在想什麼? 謝謝!試圖用觸摸移動一個圓圈

回答

0

你改變圓的位置後,調用invalidate(Rect)

這將強制視圖重繪認爲部分。

確保您通過的矩形足夠大,以包含圓的舊位置和新位置加上幾個像素值的填充。

注意: 改爲從非UI線程調用postInvalidate()

+0

非常感謝你! :) – Luis 2010-07-07 17:28:08