论坛首页 移动开发技术论坛

Android的repaint函数

浏览 2468 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-10-10   最后修改:2009-10-10

昨天安装了Android  SDK1.5 和ADT0.9.1。 
在安装时发现,要在Eclipse安装ADT时还必须安装些其他的插件,自动寻找依赖关系后就必须联网安装这些插件。如果没有网络,貌似就不能安装成功了。 

以上为废话。 

写了一个View,在上面画了点东西,不过没有找到View有repaint函数,寒。 
event函数叫onDraw ,难道叫reDraw,查了下依然没有此函数。 
最后百度了下,终于找到了Android 的repaint函数。 内容如下: 

1、repaint()方法与invalidate()/postInvalidate()方法 


如果去读API,我们可以发现J2ME中Canvas的repaint()与Android 中View的invalidate()/postInvalidate()方法实现了相同的功能(连说明文字几乎都一样…),

 

但是invalidate()/postInvalidate()两者却有着区别:invalidate() 只能在UI这个线程里通过调用onDraw (Canvas canvas)来update屏幕显示,

 

而postInvalidate()是要在non-UI线程里做同样的事情的。这就要求我们做判断,

 

哪个调用是本 线程的,哪个不是,这在做多线程callback的时候尤为重要。而在J2ME中,不管怎样直接调用repaint()就好了

论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics