Sta*_*ovy 7 android repaint invalidation ondraw
我的视图中有一些方法可以修改调用时绘制的一些形状.在Java中,为了确保组件更新,我会打电话repaint()
.有什么东西能确保我的观点正确更新吗?
我读的地方,调用invalidate()
的onDraw()
方法将让事情最新的,所以我不会需要有像repaint()
在我的方法是修改形状的绘制.
这是正确的,还是我还有别的办法?
编辑
要添加一个示例,我在视图中调用的方法是:
public void setLineThickness(int thickness) {
aLineThickness = thickness;
if(aLineThicness > 1)
//repaint(); - Okay in Java but not in Android
}
Run Code Online (Sandbox Code Playgroud)
Tho*_*nan 16
调用invalidate()将告诉视图它需要在将来的某个时候重绘自己(调用onDraw).因此,如果您在视图中更改某些内容(如线条粗细),请在其后面调用invalidate().这样您就知道您的视图最终会更新.
您的所有绘图代码都应该在onDraw()中实现,而您的其他方法应该只是在调用invalidate()之后更改视图的状态,然后将其用于绘制它.
归档时间: |
|
查看次数: |
24317 次 |
最近记录: |