我正在尝试在自定义组件中移动一个圆圈,它只会在我单击自定义组件外部的按钮时移动。 我触摸并拖动圆圈,它什么也没做,但是一旦我点击按钮(与自定义组件无关),它就会更新(绘制)到我停止触摸的位置...... 我应该在自定义组件上调用一些绘制更新吗? 我有覆盖onTouchEvent,以及onDraw等。 onTouch检查DOWN,MOVE(更新圆圈位置),UP只更新beingDragged布尔值。 onDraw在MOVE事件中捕获的位置绘制一个圆圈。 我错过了什么? 谢谢!
答案 0 :(得分:0)
更改圈子的位置后,请致电invalidate(Rect)
这将强制视图重绘视图的该部分。
确保您传递的Rect足够大,以包含圆圈的旧位置和新位置以及几个像素的填充。
注意: 调用postInvalidate()代替从非UI线程执行此操作。